Vous êtes sur la page 1sur 164

Cuprins

1 ALGEBRE MULTISORTATE 5
1.1 CONCEPTUL DE ALGEBR

A MULTISORTAT

A . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Mult imi si funct ii multisortate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Signaturi multisortate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.3 Algebre multisortate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.4 Morsme de algebre multisortate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.5 Izomorsme de algebre multisortate . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 ALGEBRE LIBERE - APLICATII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 Expresii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2 Unicitatea abstract ie de un izomorsm a algebrelor libere . . . . . . . . . . . . . . . 13
1.2.3 Tipuri abstracte de date - introducere . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 SUBALGEBRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1 Operator de nchidere. Familie Moore . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.2 P arti stabile, Subalgebre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.3 Morsme si p art i stabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4 EXISTENTA ALGEBRELOR LIBERE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.1 Algebre libere si algebre Peano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.2 Algebre Peano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4.3 Algebra arborilor de derivare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.4 Existent a algebrelor init iale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.4.5 Existent a algebrelor libere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.5 SEMANTICA ALGEBREI INITIALE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.5.1 Semantica unui sir de cifre ca num ar natural . . . . . . . . . . . . . . . . . . . . . . 27
1.5.2 Un calculator de buzunar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.5.3 Arbori de derivare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.5.4 Scrierea polonez a invers a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.5.5 Compilare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.6 CONGRUENT E si ALGEBRE C

AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.6.1 Congruent e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.6.2 Algebre cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.7 ALGEBRE PROIECTIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.7.1 Proiectivitatea algebrelor libere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.7.2 Alte proprietat i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.8 SPRE ABSTRACTIZAREA TIPURILOR DE DATE . . . . . . . . . . . . . . . . . . . . . 40
1.8.1 Ecuat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.8.2 Ecuat ii condit ionate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.8.3 Necesitatea utiliz arii cuanticatorilor n ecuat ii . . . . . . . . . . . . . . . . . . . . . 42
1.8.4 In primul r and semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.8.5 Punctul de vedere local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.8.6 Congruent a semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1
2 CUPRINS
1.8.7 Problema programarii prin rescriere . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.9 TIPURI ABSTRACTE de DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.9.1 Tipul abstract al numerelor naturale - continuare . . . . . . . . . . . . . . . . . . . . 45
2 RESCRIERI 49
2.1 TEORII DEDUCTIVE
`
A la MOISIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2 LOGIC

A ECUAT IONALA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2.1 Reguli de deduct ie, corectitudine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2.2 Completitudine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3 RESCRIERE LOCAL

A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.1 Preliminarii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.2

Inchiderea la contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.3.3

Inchiderea la preordini compatibile cu operat iile . . . . . . . . . . . . . . . . . . . . 54
2.3.4 rescriere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.3.5 Corectitudinea rescrierii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.4 Relat ia de ntalnire, Forme normale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.4.1 Conuent a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.4.2 Completitudinea ntalnirii prin recriere . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.4.3 Forme normale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.4.4 Relat ii canonice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.5 RESCRIERE

IN SUBTERMENI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.5.1 Completitudinea rescrierii n subtermeni . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.5.2 Rescriere ntr-un pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.5.3 Considerat ii metodologice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.6 UNIFICARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.6.1 Algoritmul de unicare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.6.2 Terminare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.6.3 Corectitudine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.7 LOCAL CONFLUENT

A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.8 RESCRIERE MODULO ECUATII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.8.1 Motivare semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.8.2 Rescrierea modulo o relat ie de echivalent a . . . . . . . . . . . . . . . . . . . . . . . . 68
2.9 DEMONSTRAREA ECUATIILOR CONDITIONATE . . . . . . . . . . . . . . . . . . . . . 70
2.9.1 Preliminarii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.9.2 Schimbarea signaturii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.9.3 Translatarea ecuat iilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.9.4 Teorema constantelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.10 PERECHI CRITITCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.11 TERMINAREA si PROCEDURA KNUTH-BENDIX . . . . . . . . . . . . . . . . . . . . . 81
2.11.1 Terminarea programelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.11.2 Exemplul teoriei grupurilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.11.3 Completarea Knuth-Bendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3 PROGRAMARE LOGIC

A ECUATIONAL

A 91
3.1 IN PRIMUL RAND SEMANTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.2 TEOREMELE LUI HERBRAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.2.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.2.2 Teoremele lui Herbrand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.3 REGULILE PROGRAM

ARII LOGICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.3.1 Solut ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.3.2 Reguli de deduct ie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
CUPRINS 3
3.4 CORECTITUDINEA REGULILOR PROGRAM

ARII LOGICE . . . . . . . . . . . . . . . 97
3.5 COMPLETITUDINEA PARAMODULATIEI . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.5.1 Leg aturi ntre regulile de deduct ie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.5.2 Amintiri despre rescriere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.5.3 Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.5.4 Completitudinea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.6 COMPLETITUDINEA NARROWINGULUI . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.6.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.6.2 Amintiri despre formele normale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.6.3 Lema de ridicare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.6.4 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.6.5 Completitudine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.7 REZOLUTIE
`
A LA PROLOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.7.1 Rezolut ia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.7.2 Rezolut ie = Narrowing = Paramodulat ie . . . . . . . . . . . . . . . . . . . . . . . . 107
3.8 EXEMPLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.8.1 Primul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.8.2 Al doilea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4 INSTITUTII 111
4.1 CATEGORII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.1.1 Morsme distinse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.1.2 Dualitate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.1.3 Subcategori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.2 FUNCTORI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.3 CONEXIUNI GALOIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.3.1 Conexiunea Galois atasat a unei relat ii . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.4 INSTITUTII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.4.1 Consecint a semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4.4.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.5 PREZENT

ARI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.5.1 Institut ia prezentarilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.6 TEORII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.6.1 Institut ia teoriilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.7 INSTITUTIA LOGICII ECUAT IONALE MULTISORTATE . . . . . . . . . . . . . . . . . 125
4.7.1 Categoria signaturilor algebrice Sig . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.7.2 Functorul Alg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.7.3 Functorul Sen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.7.4 Incluziuni de signaturi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.7.5 Relat ia si condit ia de satisfacere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5 MODULARIZARE 131
5.1 LIMITE si COLIMITE

INTR-O CATEGORIE . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.1.1 Colimite de mult imi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.1.2 Despre unicitatea colimitelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.1.3 Crearea colimitelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.2 COLIMITE DE SIGNATURI ALGEBRICE . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.3 FUNCTORUL Alg CONSERV

A COLIMITELE . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.3.1 Alg conserv a colimitele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.4 COLIMITE

IN INSTITUTII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.4.1 Functorul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4 CUPRINS
5.5 CATEGORII INCLUSIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.5.1 Categorii inclusive cu sume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.5.2 Sume brate care conserv a incluziunile . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.6 IMPORTURI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
5.6.1 Semantica slab a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
5.6.2 Semantica init iala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
5.7 PARAMETRIZAREA PROGRAMELOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Chapter 1
ALGEBRE MULTISORTATE
Textul a fost conceput ca o introducere n programarea declarativa, capitol semnicativ al informaticii
matematice(teoretice).
Presupunem ca cititorul are cunostiint e de teoria cantorian a a mult imilor si put ine cunostiint e de al-
gebr a. Pentru nt elegerea exemplelor se presupun cunostiint e privind gramaticile independente de context.
1.1 CONCEPTUL DE ALGEBR

A MULTISORTAT

A
Conceptul de algebr a multisortata apare n jurul anului 1970 prin generalizarea algebrelor universale. Noul
concept mai este cunoscut si sub numele algebre universale eterogene.
Deoarece datele cu care lucram nu sunt toate la fel, ele sunt clasicate n mai multe tipuri
sau sorturi. Acesta este principalul fapt care a dus la aparit ia algebrelor multisortate si n particular a
mult imilor multisortate.
Algebrele multisortate au fost generalizate conducand la algebrele ordonat sortate.
1.1.1 Mult imi si funct ii multisortate
Fix am mult imea S a sorturilor.
Denit ia 1.1.1 O familie de mult imi M = {M
s
}
sS
indexata de S se numeste mult ime S-sortata.
Observ am ca aceeasi liter a este folosita atat pentru ntreaga mult ime M cat si pentru toate componentele
acesteia, M
s
unde s S.
Fie M = {M
s
}
sS
o mult ime S-sortat a. Daca s S si m M
s
spunem ca elementul m are sortul s
sau ca s este sortul elementului m.
Conceptele uzuale pentru mult imi se extind pe componente la mult imile S-sortate asa cum se vede din
exemplele de mai jos
{M
s
}
sS
{N
s
}
sS
dac a si numai dac a (s S)M
s
N
s
,
{M
s
}
sS
{N
s
}
sS
= {M
s
N
s
}
sS
,
{M
s
}
sS
{N
s
}
sS
= {M
s
N
s
}
sS
,
{M
s
}
sS
{N
s
}
sS
= {M
s
N
s
}
sS
.
O funct ie ntre dou a mult imi S-sortate duce un element din prima mult ime ntr-un element de acelasi
sort din a dou a mult ime.
Denit ia 1.1.2 O funct ie S-sortata
f : M N
este o familie de funct ii f = {f
s
}
sS
unde pentru orice s S componenta de sort s este o funct ie uzual a
f
s
: M
s
N
s
.
5
6 CHAPTER 1. ALGEBRE MULTISORTATE
Ca si n cazul mult imilor S-sortate, operat iile cu funct iile S-sortate se fac pe componente. Daca
f : M N si g = {g
s
}
sS
: N P sunt funct ii S-sortate atunci compunerea lor
f; g = {f
s
; g
s
}
sS
: M P
este denita pentru orice s S prin
(f; g)
s
= f
s
; g
s
.
Mai detaliat (f; g)
s
(x) = g
s
(f
s
(x)) pentru orice s S si x M
s
. Semnul ; folosit pentru compunere este
inspirat din limbajele de programare. Mai observ am scrierea diagramatica f; g utilizat a pentru compunere
n opozit ie cu scrierea clasic a g f


M
N
P
f g
f;g
Compunerea funct iilor S-sortate este asociativa. Daca si h = {h
s
} : P R este funct ie Ssortat a,
atunci folosind asocitivitatea compunerii funct iilor uzuale pentru orice s S
((f; g); h)
s
= (f; g)
s
; h
s
= (f
s
; g
s
); h
s
= f
s
; (g
s
; h
s
) = f
s
; (g; h)
s
= (f; (g; h))
s
.
Prin urmare (f; g); h = f; (g; h).
Pentru orice mult ime S-sortat a M funct ia ei identitate 1
M
: M M este denita prin (1
M
)
s
= 1
Ms
pentru orice s S, unde 1
Ms
este funct ia identitate a mult imii M
s
. Funct ia identitate are efect neutru la
compunere. Pentru orice funct ie Ssortat a f : M N au loc egalitat ile 1
M
; f = f = f; 1
N
.
Cele dou a proprietat i de mai sus ne permit s a vorbim de categoria mult imilor Ssortate(Vezi denit ia
categoriei 4.1.1)
1.1.2 Signaturi multisortate

In programare, mai mult dec at n orice alta activitate, datele utilizate sunt de mai multe feluri, sau sorturi
asa cum vom spune n continuare. Mai mult, de cele mai multe ori, n diferitele construct ii sintactice,
ntr-un anumit loc al acestora nu poate plasat a dec at o dat a de un anumit sort. Aceasta ar explicat ia
faptului ca algebrele multisortate constituie una dintre cele mai utile unelte pentru informatica teoretic a.
Algebrele la r andul lor nu sunt toate la fel. Felul algebrelor este dat de signatura lor. O signatura are
dou a componenete una pentru date si una pentru operat ii.
Componenta pentru date este pur si simplu o mult ime S ale carei elemente s S se numesc sorturi.
Fiecare operat ie este caracterizat a de modul acesteia de act iune. Operat ia act ioneaz a pe un anumit
num ar x de date de sorturi precizate si are rezultatul de un sort dat. Ca exemplu pentru operat ia cu
numele o not am cu
o : s
1
s
2
. . . s
n
s
faptul ca ea are n argumente de sorturi s
1
, s
2
, . . . , s
n
si rezultatul este de sort s. Numele unei operat ii
mai este numit si simbol de operat ie.
Terminologia folosita este urmatoarea:
s
1
s
2
. . . s
n
se numeste aritate,
s este sortul rezultat sau sortul rezultatului,
perechea (s
1
s
2
. . . s
n
, s) se numeste rang.
Reamintim ca substantivul aritate provine din suxul ar a folosit n expresii ca zeroar a, unara, binara,
ternara, etc.
Toate aceste informat ii privind felul algebrei sunt adunate n conceptul de signatura. Cu S

not am
mult imea sirurilor nite formate cu elemente din S.
1.1. CONCEPTUL DE ALGEBR

A MULTISORTAT

A 7
Denit ia 1.1.3 O signatura algebric a
(S, {
s
1
s
2
...sn,s
}
s
1
s
2
...snS

,sS
)
este formata dintr-o mut ime S ale carei elemente se numesc sorturi si o familie de mult imi
{
s
1
s
2
...sn,s
}
s
1
s
2
...snS

,sS
.
Pentru ecare s
1
s
2
. . . s
n
S

si s S mult imea
s
1
s
2
...sn,s
cont ine numele operat iilor cu n argumente de
sorturi s
1
, s
2
, . . . , s
n
si rezultat de sort s.
Ment ion am ca mult imile
s
1
s
2
...sn,s
pot avea elemente comune, ceea ce permite modelarea supranc arc arii
operat iilor, adic a permisiunea ca mai multe operat ii s a aib a acelas nume, sau altfel spus s a e denumite
prin acelasi simbol.
C and nu exista pericol de confuzie vom scrie signatura n loc de signatura algebric a si vom scrie (S, )
sau n loc de
(S, {
s
1
s
2
...sn,s
}
s
1
s
2
...snS

,sS
).
Cea mai cunoscuta signatura multisortata provenit a din algebra clasic a este cea corespunzatoare con-
ceptelor de spat iu vectorial sau modul. Simbolurile de operat ii sunt de trei feluri
1. simboluri de operat ii pentru scalari corespunzatoare structurii de corp sau inel
2. simboluri de operat ii pentru vectori corespunzatoare structurii de grup abelian
3. produsul cu scalari : scalar vector

vector.
O consecint a deosebita a stilului multisortat este faptul ca relat iile pot denite ca operat ii cu sortul
rezultat boolean. De exemplu
: natural natural boolean
Observ am ca 3 5 = adevar si 5 3 = fals.

In general prin relat ie se nt elege o operarie al carei sort rezultat este boolean. Practic, pentru a
transforma o relat ie n operat ie se nlocuieste relat ia cu asa numita funct ia ei caracteristica. Reamintim
ca funct ia caracteristica

A
: M {adevar, fals}
a submult imii A a mult imii M este denita prin

A
(m) =

adevar dac a m A
fals dac a m A.
Remarcabil este c a unele aspecte privind studiul clasic al modelelor unde apar at at operat ii c at si relat ii
poate redus la studiul algebrelor multisortate unde apar numai operat ii.
1.1.3 Algebre multisortate
Algebrele sunt formate n mare din date si operat ii. Datele sunt de mai multe sorturi, adic a pentru ecare
sort s algebra cont ine o mult ime a datelor de sort s. Familia acestor mult imi, numit a si suportul algebrei,
constitue o mult ime sortat a.
Denit ia 1.1.4 O -algebra A = ({A
s
}
sS
, {A

) este formata dintr-o mult ime S-sortat a, numit a


suportul algebrei, A = {A
s
}
sS
si o familie de operat ii {A

. Pentru claritate, dac a


s
1
s
2
...sn,s
,
adic a : s
1
s
2
. . . s
n
s, atunci A

este o funct ie
A

: A
s
1
A
s
2
A
sn
A
s
.
8 CHAPTER 1. ALGEBRE MULTISORTATE
Daca nu exista pericol de confuzie n loc de ({A
s
}
sS
, {A

) vom scrie mai simplu (A


s
, A

). Mai
ment ion am ca pentru o algebr a A si suportul acesteia A folosim aceeasi liter a cu grai diferite.
Daca nu este pericol de confuzie n loc de -algebra vom scrie mai scurt algebr a.

In continuare pentru s
1
, s
2
, . . . , s
n
S vom mai folosi si notat ia
A
s
1
s
2
...sn
= A
s
1
A
s
2
A
sn
.
Din denit ia de mai sus rezult a ca dac a
,s
unde este sirul vid din S

, atunci A

este o funct ie
denita pe o mult ime cu un element si cu valori n A
s
. Pentru a simplica scrierea aceast a funct ie este
nlocuit a cu unica ei valoare, element din A
s
adic a A

A
s
. Deci operat iile far a argumente, numite si
constante, sunt elemente ale algebrei de sort corespunzator sortului rezultat al numelui operat iei.
Vom continua prin a deni pentru algebrele multisortate cele mai uzuale concepte specice algebrei:
morsme, subalgebre, algebre libere, congruent e, etc.
Aseman ator algebrei care abordeaz a pe r and diferite structuri algebrce, trebuie s a facem acelas lucru.
Adica trebuie s a studiem, dar n acelas timp, structuri algebrice de naturi diferite. Prin urmare, n
continuare, xam signatura (S, ) a algebrelor de care ne ocup am. De altfel unele concepte, ca de exemplu
cel de morsm, nu pot denite dec at pentru algebre avand aceeasi signatura.
Fixarea signaturii arat a ca ne ocup am de o anumit a structura algebric a. Faptul ca signatura este
arbitrara arat a ca studiul diferitelor structuri algebrice se face simultan.
1.1.4 Morsme de algebre multisortate
Un morsm ntre dou a algebre multisortate, asem an ator oric arui morsm de structuri algebrice, este o
funct ie multisortatantre suporturile celor dou a algebre care veric a o condit ie suplimentar a. Pentru a scrie
aceast a condit ie pentru cazul algebrelor multisortate s a plec am de la conceptul uzual de morsm pentru o
structura algebric a bazat a pe o operat ie binara. Funct ia h : A B este morsm h : (A, ) (B, &)
dac a
(a A)(b A)h(a b) = h(a)&h(b).
S a analiz am egalitatea de mai sus. Se evalueaz a cei doi membri pentru un num ar de elemente arbitrare
din prima algebr a egal cu num arul de argumente al operat iei si apoi se egaleaza rezultatele
- membrul st ang:
1) se aplic a operat ia din prima algebr a elementelor din prima algebra
2) se aplica morsmul h rezultatului obt inut
- membrul drept:
1) se aplic a morsmul h elementelor din prima algebra obt in andu-se niste elemente din a doua algebr a
2) se aplic a operat ia din a doua algebr a acestor elemente
- se cere ca rezultatul evalu arii celor doi membri s a e egali.
S a facem acelasi lucru pentru dou a algebre multisortate A = (A
s
, A

), B = (B
s
, B

) si o funct ie
S-sortat a h : A B. Condit ia de mai sus trebuie pusa pentru ecare operat ie cu numele
: s
1
s
2
. . . s
n
s
si oricare ar elementele a
1
A
s
1
, a
2
A
s
2
. . . a
n
A
sn
- membrul st ang:
1) se aplic a operat ia din prima algebr a elementelor din prima algebra: A

(a
1
, a
2
, . . . , a
n
)
2) se aplica morsmul h rezultatului obt inut h
s
(A

(a
1
, a
2
, . . . , a
n
))
- membrul drept:
1) se aplic a morsmul h elementelor din prima algebra obt in andu-se niste elemente din a doua algebr a:
h
s
1
(a
1
), h
s
2
(a
2
), . . . , h
sn
(a
n
)
1.1. CONCEPTUL DE ALGEBR

A MULTISORTAT

A 9
2) se aplic a operat ia din a doua algebr a acestor elemente: B

(h
s
1
(a
1
), h
s
2
(a
2
), . . . , h
sn
(a
n
))
- se cere ca rezultatul evalu arii celor doi membri s a e egali.
h
s
(A

(a
1
, a
2
, . . . , a
n
)) = B

(h
s
1
(a
1
), h
s
2
(a
2
), . . . , h
sn
(a
n
)).
Denit ia 1.1.5 Funct ia S-sortat a h : A B este un morsm de -algebre multisortate
h : A = (A
s
, A

) B = (B
s
, B

)
dac a pentru orice s
1
s
2
. . . s
n
S

, pentru orice s S, pentru orice


s
1
s
2
...sn,s
, pentru orice a
1
A
s
1
,
a
2
A
s
2
, . . . , a
n
A
sn
h
s
(A

(a
1
, a
2
, . . . , a
n
)) = B

(h
s
1
(a
1
), h
s
2
(a
2
), . . . , h
sn
(a
n
)).
Daca nu este pericol de confuzie n loc de morsm de -algebre vom scrie morsm de algebre sau chiar
morsm.

In continuare pentru s
1
, s
2
, . . . , s
n
S vom mai folosi si notat ia
h
s
1
s
2
...sn
= h
s
1
h
s
2
h
sn
: A
s
1
s
2
...sn
B
s
1
s
2
...sn
.
Cu aceleasi notat ii mai preciz am ca dac a a
i
A
s
i
pentru orice 1 i n
h
s
1
s
2
...sn
(a
1
, a
2
, . . . , a
n
) = (h
s
1
(a
1
), h
s
2
(a
2
), . . . , h
sn
(a
n
)).
Este util s a remarcam ca exista cate o condit ie pentru ecare nume de operat ie.

In cazul operat iilor far a
argumente, asa zisele constante, condit ia de morsm este pentru orice
,s
egalitatea h
s
(A

) = B

. Cu
alte cuvinte morsmele trebuie s a p astreze constantele. Pe cazuri particulare observ am ca orice morsm de
monoizi duce elementul neutru n elementul neutru si ca orice morsm de semiinele duce elementul neutru
la adunare, respectiv la nmult ire, tot n elementul neutru la adunare respectiv la nmult ire.
Cu notat iile de mai sus condit ia de morsm pentru operat ia : s
1
s
2
. . . s
n
s este echivalenta cu
A

; h
s
= h
s
1
s
2
...sn
; B

.
Este deasemenea util s a ment ion am diferent a de notat ie dintre o funct ie S-sortata
f : A B
ntre suporturile a dou a -algebre A si B si un morsm ntre cele dou a algebre
h : A B.
Observ am ca funct ia identitate 1
A
este morsm de -algebre de la A la A fapt notat prin 1
A
: A A.
Propozit ie 1.1.6 Compunerea ca funct ii S-sortate a dou a morsme de -algebre este un morsm de
-algebre.
Demonstrat ie: Fie h : A B si g : B C dou a morsme de -algebre. Probam ca h; g : A C
este morsm de -algebre.
Fie s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si a
1
A
s
1
, a
2
A
s
2
, . . . , a
n
A
sn
. Observ am ca
(h; g)
s
(A

(a
1
, a
2
, . . . , a
n
)) = g
s
(h
s
(A

(a
1
, a
2
, . . . , a
n
))) = g
s
(B

(h
s
1
(a
1
), h
s
2
(a
2
), . . . , h
sn
(a
n
))) =
= C

(g
s
1
(h
s
1
(a
1
)), g
s
2
(h
s
2
(a
2
)), . . . , g
sn
(h
sn
(a
n
))) = C

((h; g)
s
1
(a
1
), (h; g)
s
2
(a
2
), . . . , (h; g)
sn
(a
n
)).
Compunerea morsmelor de -algebre este asociativa.
Morsmul identitate are efect neutru la compunere.
Datorita celor dou a proprietat i de mai sus putem vorbi de categoria algebrelor.
10 CHAPTER 1. ALGEBRE MULTISORTATE
1.1.5 Izomorsme de algebre multisortate
Denit ia 1.1.7 Morsmul de -algebre h : A B se numeste izomorsm dac a exista morsmul
g : B A cu proprietat ile h; g = 1
A
si g; h = 1
B
.
Daca exista, morsmul g din denit ia de mai sus este unic.

Intradevar dac a f : B A este un alt
morsm cu proprietat ile h; f = 1
A
si f; h = 1
B
. Observ am ca
g = g; 1
A
= g; (h; f) = (g; h); f = 1
B
; f = f.
Datorita unicit at ii sale, conform uzant elor, morsmul g, denumit si inversul lui h, este notat n continuare
cu h
1
. Prin urmare pentru orice izomorsm h : A B ment ion am egalitat ile h; h
1
= 1
A
si h
1
; h = 1
B
.
Observ am ca morsmele identitate sunt izomorsme. In plus (1
A
)
1
= 1
A
.
Propozit ie 1.1.8 Un morsm este izomorsm dac a si numai dac a are toate componentele bijective.
Demonstrat ie: Fie h : A B un morsm de -algebre.
Presupunem ca h este izomorsm, adic a exista morsmul h
1
: B A cu proprietat ile h; h
1
= 1
A
si h
1
; h = 1
B
. Rezulta ca pentru orice sort s S au loc egalitat ile h
s
; h
1
s
= 1
As
si h
1
s
; h
s
= 1
Bs
, adic a
funct ia h
s
este inversabila pentru orice s S, deci toate componentele h
s
ale lui h sunt biject ii.
Reciproc, presupunem ca toate componentele h
s
ale lui h sunt biject ii. Prin urmare pentru orice
s S exista funct ia h
1
s
: B
s
A
s
cu proprietat ile h
s
; h
1
s
= 1
As
si h
1
s
; h
s
= 1
Bs
. De aici not and
h
1
= {h
1
s
}
sS
rezult a pentru orice s S ca
(h; h
1
)
s
= h
s
; h
1
s
= 1
As
= (1
A
)
s
si (h
1
; h)
s
= h
1
s
; h
s
= 1
Bs
= (1
B
)
s
deci h; h
1
= 1
A
si h
1
; h = 1
B
.
Pentru a ncheia demonstrat ia mai trebuie ar atat ca funct ia S-sortat a h
1
: B A este un morsm
de -algebre h
1
: B A.
Fie s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si b
1
B
s
1
, b
2
B
s
2
, . . . , b
n
B
sn
. Deoarece h este morsm
pentru elementele h
1
s
1
(b
1
), h
1
s
2
(b
2
), . . . , h
1
sn
(b
n
) din A deducem
h
s
(A

(h
1
s
1
(b
1
), h
1
s
2
(b
2
), . . . , h
1
sn
(b
n
))) = B

(h
s
1
(h
1
s
1
(b
1
)), h
s
2
(h
1
s
2
(b
2
)), . . . , h
sn
(h
1
sn
(b
n
))) =
= B

(b
1
, b
2
, . . . , b
n
).
Aplicand funct ia h
1
s
ambilor membri deducem
A

(h
1
s
1
(b
1
), h
1
s
2
(b
2
), . . . , h
1
sn
(b
n
)) = h
1
s
(B

(b
1
, b
2
, . . . , b
n
))
deci h
1
: B A este morsm de -algebre.
Propozit ie 1.1.9 Compunerea a dou a izomorsme f : A B si g : B C este un izomorsm
f; g : A C.

In plus
(f; g)
1
= g
1
; f
1
Demonstrat ie: Pentru a demonstra ca un morsm de la M la N este izomorsm avand ca invers un
alt morsm de la N la M este sucient s a probam ca prin compunerea celor dou a morsme, n ambele
sensuri posibile, se obt in identitat i. Prin urmare folosind egalitat ile f; f
1
= 1
A
, f
1
; f = 1
B
, g; g
1
= 1
B
si g
1
; g = 1
C
deducem
(f; g); (g
1
; f
1
) = f; (g; g
1
); f
1
= f; 1
B
; f
1
= f; f
1
= 1
A
si
(g
1
; f
1
); (f; g) = g
1
; (f
1
; f); g = g
1
; 1
B
; g = g
1
; g = 1
C
ceea ce arat a ca f; g este izomorsm avand inversul g
1
; f
1
.
1.2. ALGEBRE LIBERE - APLICAT II 11
1.2 ALGEBRE LIBERE - APLICATII
Dup a aceast a mic a introducere privind algebrele multisortate, trecem la conceptul de algebr a liber a datorit a
importantelor aplicat ii ale acestuia n informatic a. Cu el se modeleaz a not iunile de expresie si de evaluarea
a unei expresii.
Ment ion am ca demonstrat ia privind existent a algebrelor libere prezinta dicultat i de natura tehnic a
fapt pentru care este prezentata mai tarziu si recomandata numai celor care posed a spiritul demonstrat iilor
matematice.
Ceilalt i se pot mult umi numai cu explicat iile de mai jos, accept and, far a demonstrat ie, existent a alge-
brelor libere.
1.2.1 Expresii
Ce este o expresie?
Conceptul de expresie asa cum este el folosit n nvat am antul preuniversitar nu are o denit ie si un nt eles
precis. Vom da un exemplu care s a ilustreze acest fapt. La ntrebarea este xy z o expresie? r aspunsul
depinde de contextul n care a fost pusa ntrebarea. Dac a operat ia a fost declarat a asociativa, atunci
x y z este o expresie.

In caz contrar ea nu este o expresie deoarece include o ambiguitate put and
interpretata ca x (y z) sau (x y) z ambele ind expresii. Pentru nceput not iunea de expresie va
denita n ipoteza ca operat iile cu care lucr am nu au nici o proprietate suplimentar a.
Mai ment ion am ca cele dou a expresii de mai sus mai pot scrise n scrierea polonez a x yz si xyz
sau n scrierea polonez a invers a xyz si xy z. Ne intereseaz a o denit ie a conceptului de expresie care
s a e independent a de forma de scriere a acesteia.
Denit ia 1.2.1 -algebra A = (A
s
, A

) se numeste liber generata de V A dac a pentru orice -


algebr a D si pentru orice funct ie sortat a f : V D, exista un unic morsm de -algebre f
#
: A D care
extinde f.
-algebra A se numeste liber a dac a exista V A astfel nc at A este liber generat a de V.
Denit ia 1.2.2 Se numeste expresie un element dintr-o algebr a liber a.
C and privim algebra liber a ca o algebr a de expresii, mult imea V de mai sus reprezinta mult imea variabi-
lelor.

In unele cazuri, elementele lui V sunt numite generatori ai algebrei.
Binent eles ca acest concept este nc a dependent de signatura cu care lucr am, fapt pentru care atunci
cand dorim s a preciz am signatura vorbim de expresii n loc de expresii.

In plus not iunea naiva de expresie ne d a intuit ia necesara pentru nt elegerea conceptului de algebr a
liber a: algebrele libere nu sunt altceva dec at algebre de expresii.
Independent a de modul de scriere al expresiilor corespunde unicit at ii abstract ie de un izomorsm al
algebrei libere pentru care este xata mult imea V a generatorilor.
Evaluarea expresiilor
Un alt concept deosebit de util atat n matematic a cat si n informatic a este cel de evaluare a unei expresii.
Desi este clar ca pentru a evalua o expresie este necesar sa d am valori variabilelor care apar n ea, mai
put in evident este faptul ca trebuie precizat si unde d am valori acestor variabile. Pentru a ilustra acest
fapt ment ion am ca expresia x?(yz) nu poate evaluat a numai d and valori variabilelor x, y si z ntr-o
mult ime dac a mult imea nu este nzestrata cu dou a operat ii binare corespunzatoare simbolurilor de operat ii
binare ? si .

In concluzie pentru a evalua o expresie este necesar s a d am
1. o algebr a n care se fac calculele si care are aceeasi signatura cu cea a expresiei
2. valori variabilelor din expresie n algebra n care se fac calculele.
12 CHAPTER 1. ALGEBRE MULTISORTATE
Ment ion am ca a da valori variabilelor din mult imea X n algebra D este echivalent cu a da o funct ie
v : X D.
Pentru orice variabil a x din X valoarea dat a lui x este v(x).
Vom nota cu T

(X) algebra liber generat a de mult imea X de variabile. Incluziunea X T

(X) este
echivalenta cu faptul intuitiv ca orice variabil a este o expresie. Pentru orice algebr a D si pentru orice
funct ie v : X D exista, conform denit iei algebrelor libere, un unic morsm v
#
: T

(X) D a carui
restrict ie la X coincide cu v.
Fix and algebra D vom constata ca exista o biject ie naturalantre Alg

(T

(X), D) mult imea morsmelor


de -algebre de la T

(X) la D si Set
S
(X, D) mult imea funct iilor S-sortate de la X la D. Fie
r : Alg

(T

(X), D) Set
S
(X, D)
funct ia restrict ie, adic a r(h) : X D este restrict ia h/
X
a morsmului h : T

(X) D la X. Propri-
etatea de mai sus a algebrei libere spune ca
(v Set
S
(X, D))(!v
#
Alg

(T

(X), D))r(v
#
) = v
adic a r este biject ie. Existent a acestei biject ii ne permite sa identic am elementele celor dou a mult imi far a
a mai face distinct ie ntre un morsm v
#
de la T

(X) la D si v, restrict ia lui la X.


Daca mai sus scriam ca a da valori variabilelor din mult imea X n algebra D este echivalent cu a da o
funct ie v : X D acum putem spune ca:
A da valori variabilelor din mult imea X n algebra D este echivalent cu a da un morsm
v : T

(X) D.
O alta consecint a a celor de mai sus este:
Pentru a deni un morsm de la algebra liber generata de X la algebra D este sucient sa
dam o funct ie de la X la D.
Denit ia 1.2.3 Daca e T

(X) este o expresie cu variabile din X si h : T

(X) D morsmul prin care


se dau valori n D variabilelor, atunci h(e) este rezultatul evalu arii expresiei e pentru valorile variabilelor
date de funct ia h/
X
: X D.
Pentru a ne convinge ca aceast a denit ie modeleaz a corect realitatea vom relua exemplul de mai sus privind
expresia x?(yz). S a evalu am aceast a expresie n mult imea numerelor naturale unde ? este nmult irea si
este adunarea.
Pentru valorile x = 2, y = 3 si z = 1 intuitiv obt inem 2 (3 + 1) = 8 iar cu denit ia de mai sus unde
h : (T

({x, y, z}), ?, ) (N, , +)


este morsmul denit prin h(x) = 2, h(y) = 3 si h(z) = 1 obt inem
h(x?(yz)) = h(x) h(yz) = h(x) (h(y) +h(z)) = 2 (3 + 1) = 8.
Semantica instruct iunii de atribuire
Fie X mult imea variabilelor utilizate ntrun program. O instruct iune de atribuire este de forma x := e
unde x este o variabil a si e este o expresie, adic a e T

(X).
Fie D -algebra datelor cu care se fac calculele. Ne intereseaz a partit ia memoriei n care sunt me-
morate datele utilizate n timpul execut iei programului, date depozitate n celule ale memoriei care cores-
pund variabilelor din X. Prin urmare starea memoriei este caracterizat a n ecare moment de o funct ie
s : X D. Daca x este o variabil a s(x) este valoarea din celula de memorie corespunzatoare lui x. Fie S
1.2. ALGEBRE LIBERE - APLICAT II 13
mult imea st arilor memoriei, adic a mult imea funct iilor de la mult imea variabilelor X la mult imea datelor
D.
O funct ie part iala de la A la B este o funct ie denita numai pe o parte a lui A cu valori n B.
Semantica unei instruct iuni, sau mai general a unui program, este o funct ie part iala F de la mult imea
S a st arilor la ea ins asi. Funct ia F este denita pentru starea s a memoriei dac a si numai dac a execut ia
instruct iunii nceputa n starea s a memoriei se termina. Mai mult F(s) este starea memoriei n momentul
terminarii execut iei.
Vom deni Sem(x := e) : S S, semantica atribuirii x := e. Fie s : X D starea memoriei la
nceputul execut iei atribuirii si s
#
: T

(X) D unica extindere la un morsm a lui s. Observ am ca


s
#
(e) este rezultatul evalu arii expresiei e n starea s a memorie. Prin urmare, prin denit ie
Sem(x := e)(s)(y) =

s
#
(e) dac a y = x
s(y) dac a y = x.
Pentru o mai buna nt elegere ment ion am ca s(y) este valoarea variabilei y n momentul nceperii execut iei
instruct iunii de atribuire si ca Sem(x := e)(s)(y) este valoarea variabilei y n momentul terminarii execut iei
instruct iunii de atribuire x := e.
1.2.2 Unicitatea abstract ie de un izomorsm a algebrelor libere
Daca A este o submult ime a lui B numim funct ie incluziune a lui A n B funct ia i : A B denita
prin i(a) = a pentru orice a A.

In acest caz folosim si notat ia i : A B.
Teorema 1.2.4 Dou a algebre liber generate de aceeasi mult ime sunt izomorfe.
Demonstrat ie: Fie A = (A
s
, A

) si B = (B
s
, B

) dou a -algebre liber generate de X. Notam cu


i
A
: X A si i
B
: X B funct iile incluziune ale lui X n A, respectiv n B. Demonstrat ia are patru
pasi.
1. Deoarece algebra A este liber generat a de X exista un morsm f : A B cu proprietatea
i
A
; f = i
B
.
Pasul 2 este asem an ator cu primul, doar ca se inverseaz a rolul algebrelor A si B. La fel vor pasii 3 si 4.
2. Deoarece algebra B este liber generat a de X exista un morsmg : B Acu proprietatea i
B
; g = i
A
.
3. Deoarece i
A
; (f; g) = (i
A
; f); g = i
B
; g = i
A
= i
A
; 1
A
si deoarece A este algebr a liber generat a de X
deducem, folosind partea de unicitate din denit ia algebrei libere, ca f; g = 1
A
.
4. Deoarece i
B
; (g; f) = (i
B
; g); f = i
A
; f = i
B
= i
B
; 1
B
si deoarece B este algebr a liber generat a de X
deducem, folosind partea de unicitate din denit ia algebrei libere, ca g; f = 1
B
.
Deci f si g sunt izomorsme inverse unul altuia.
Propozit ie 1.2.5 Orice algebr a izomorf a cu o algebr a liber a este algebr a liber a.
Demonstrat ie: Fie A o algebra liber generat a de V A si h : A B un izomorsm.
Probam ca algebra B este liber generat a de h(V ) B. Fie C o algebra si f : h(V ) C o funct ie
Ssortat a. Fie g : V C funct ia Ssortat a denita prin
(v V )g(v) = f(h(v)).
Deoarece A este algebra liber generat a de V exista un unic morsm g
#
: A C cu proprietatea
(v V )g
#
(v) = g(v).
14 CHAPTER 1. ALGEBRE MULTISORTATE
V



A
h

g
#
.
h(V )

B
C
Calcul and restrict ia morsmului h
1
; g
#
: B C la h(V ) observ am ca
(v V )(h
1
; g
#
)(h(v)) = g
#
(h
1
(h(v))) = g
#
(v) = f(h(v)),
adic a morsmul h
1
; g
#
este o extindere a funct iei f.
Vom proba unicitatea acestei extinderi. Fie t : B C un morsm a carui restrict ie la h(V ) este f.
Pentru orice v V observ am ca
(h; t)(v) = t(h(v)) = f(h(v)) = g(v).
Deducem ca h; t = g
#
deci t = h
1
; g
#
.
Algebre init iale
Denit ia 1.2.6 O -algebra I se numet e int iala dac a pentru orice -algebra A exista un unic morsm

A
: I A.
Observ am ca o algebr a este init iala dac a si numai dac a este liber generat a de mult imea vida.
Din cele dou a propozit ii de mai sus rezult a ca:
-algebra init iala este unic a abstract ie facand de un izomorsm.
Acest fapt are aplicat ii importante n informatic a.
Un tip de date se numeste abstract dac a este unic determinat abstract ie facand de un izomorsm.
Se vede prin urmare ca d and o signatura am dat implicit, prin algebra init iala corespunzatoare signaturii,
un tip abstract de date.
Vom da un exemplu cunoscut din algebra de liceu. Se stie ca numerele ntregi formeaza un inel init ial.
Va invitam s a reectat i asupra urmatoarei denit ii a idei de num ar ntreg.
Se numeste numar ntreg un element al inelului init ial.
1.2.3 Tipuri abstracte de date - introducere
Un tip de date se numeste abstract dac a este unic determinat abstract ie facand de un izomorsm. Abstract
nseamna de fapt ca nu ne intereseaz a cum sunt scrise sau memorate datele.
Una dintre metodele prin care se poate deni un tip abstract de date este cel al algebrei init iale. Mai
clar : este sucient s a d am o signatura si eventual niste axiome(ecuat ii condit ionate sau nu) deoarece
algebra init iala, a carei existent a este garantata de teoremele care vor prezentate mai tarziu, este unic
determinata abstract ie de un izomorsm, prin urmare este un tip abstract de date.
Tipul numerelor naturale poate denit abstract ca ind semiinelul init ial.
Observ am ca o astfel de denit ie nu spune nimic despre scrierea numerelor. Ele pot scrise cu cifre
arabe, cu cifre romane, n baza 2 ca n calculatoare sau altfel.
Denit iile de mai sus, desi corecte sunt uneori ineciente, deoarece nu face posibil a execut ia de calcule
sau execut ia este inecienta. Prin urmare dorim alte denit ii echivalente care permit calculatorului s a faca
calcule care s a e cat mai eciente. Vom exemplica pentru numere naturale far a a intra n prea multe
detalii.
1.2. ALGEBRE LIBERE - APLICAT II 15
Tipul abstract al numerelor naturale
Semiinelul este o mult ime M nzestrata cu dou a operat ii binare notate cu + si cu urmatoarele proprietat i
1. (M, +, 0) este monoid comutativ,
2. (M, , 1) este monoid,
3. este distributiva fat a de + si
4. (m M)m 0 = 0 m = 0.
Mult imea numerelor naturale cu adunarea si inmult irea uzuale este un semiinel init ial, adic a conceptul de
semiinel caracterizeaz a numele naturale ca tip abstract de date.
Pentru a scrie un program se prefer a axiomele lui Peano. Chiar dac a Peano nu s-a gandit la programarea
prin rescriere, baza programarii declarative, se pare s a scris primul program de acest gen.
Cel caruia i se atribuie prima punere n evident a a ideilor abstracte privind numerele naturale este
F.W. Lawvere[14].
Consideram signatura cu un singur sort nat, o singura constanta de sort nat si o singura operat ie unara
cu argument si rezultat de sort nat:
sort nat .
op 0 : nat .
op s : nat nat .
Elementele algebrei init iale sunt
0, s(0), s(s(0)), s(s(s(0))), s(s(s(s(0)))), ...
si ele reprezinta numerele naturale 0 1 2 3 4 ...
Propozit ia urmatoare n care conceptul de num ar natural este folosit n nt elesul s au clasic arat a ca
numerele naturale formeaza un model al denit iei abstracte. Acest fapt arat a corectitudinea denit iei
abstracte pentru modelul clasic.
Propozit ie 1.2.7 Fie N = (N, 0
N
, s
N
) algebra denit a prin: N este mult imea numerelor naturale, 0
N
este num arul natural zero si s
N
(n) = n + 1 pentru orice num ar natural n. Algebra N este init ial a.
Demonstrat ie: Fie A = (A, 0
A
, s
A
) o alta algebr a pentru signatura de mai sus.
Denim funt ia h : N A prin induct ie
h(0
N
) = 0
A
h(n + 1) = s
A
(h(n)) pentru orice num ar natural n.
Prima egalitate de mai sus si h(s
N
(n)) = s
A
(h(n)) pentru orice num ar natural n dovedesc ca
h : N A este un morsm.
Probam unicitatea. Fie g : N A un alt morsm. Aratam prin induct ie ca g(n) = h(n) pentru orice
n natural.
g(0
N
) = 0
A
= h(0
N
) si presupun and g(n) = h(n) deducem
g(n + 1) = g(s
N
(n)) = s
A
(g(n)) = s
A
(h(n)) = h(s
N
(n)) = h(n + 1).
Propozit ia anterioar a ne arat a cum pot denite numerele naturale prim metoda algebrei init iale ca
tip abstract de date. Ea dovedeste corectitudinea denit iei de mai sus.
16 CHAPTER 1. ALGEBRE MULTISORTATE
Deocamdat a prin signatura de mai sus calculatorul nvat a numerele naturale dar nu stie nc a s a cal-
culeze. Pentru nceput s a-l nvat am s a adune. Daca introducem n signatura o operat ie binara +
op + : nat nat nat
nu realiz am nimic altceva dec at s a adaug am la mult imea de mai sus a numerelor natural foarte mult gunoi.
De exemplu, deoarece calculatorul nu stie nc a s a adune, 0 + 0 este un nou element de care nu avem nevoie.
Il nvat am s a adune d andu-i urmatoarele dou a reguli de rescriere precedate de o declarare de variabile
var X Y : nat .
eq X + 0 = 0 .
eq X + s(Y) = s(X+Y) .
Trebuie s a remarcam diferent a esent iala dintre o regul a de rescriere si o egalitate. O regul a de rescriere
se aplic a numai de la st anga la dreapta, deoarece simetria este unul dintre marii dusmani ai programarii
prin rescriere conducand la neterminarea programelor.
Ce p arere avet i despre comutativitate?
S a vedem cum efectueaza masina adunarea 2 + 2, adic a:
s(s(0)) + s(s(0)).
Calculatorul nu poate aplica dec at a doua regul a pentru X=s(s(0)) si Y=s(0) ajungand la
s( s(s(0)) + s(0) ).
Trebuie din nou aplicat a a doua regul a de rescriere pentru X=s(s(0)) si Y=0 ajungand la
s(s( s(s(0)) + 0 )).
Acum se poate aplica numai prima regul a pentru X=s(s(0)) obt in and rezultatul s(s(s(s(0)))), adic a 4.
Calculatorul se opreste deoarece nu se mai pot face rescrieri.
Corectitudinea acestei denit ii precum si a celei care urmeaza va probata mai tarziu, n sect iunea
1.9.1.
Calculatorul va sti s a si nmult easc a dac a mai introducem o operat ie binara si dou a reguli de rescriere
op * : nat nat nat .
eq X * 0 = 0 .
eq X * s(Y) = X*Y + X .
Uneori, n programarea prin rescriere, dac a dorim s a scriem un program, partea cea mai dicil a este
denirea abstracta a tipurilor de date cu care lucr am. Plec and de la not iunea intuitiva dat a de o algebr a
D a datelor, trebuie s a gasim signatura si eventual ecuat iile pentru care D devine algebr a init iala.
Exemplul numerelor naturale este doar un nceput. Va propunem de exemplu s a denit i relat ia de
ordine ca operat ie < : nat nat bool. Piatra de ncercare va ns a operat ia de mp art ire.
1.3 SUBALGEBRE
Vom continua prezentarea teoriei algebrelor multisortate cu conceptele de parte stabil a si subalgebra.
Deoarece p art ile stabile formeaza o familie Moore, concept echivalent cu cel de operator de nchidere vom
ncepe cu o scurta prezentare a acestor concepte.
1.3. SUBALGEBRE 17
1.3.1 Operator de nchidere. Familie Moore
Fie (P, ) o mult ime part ial ordonata, adic a relat ia pe mult imea P este reexiva, tranzitiva si antisi-
metric a.
Denit ia 1.3.1 Se numeste operator de nchidere o funct ie
: P P
cu urmatoarele proprietat i:
1. extensivitate: (p P) p p

,
2. idempotent a: (p P) p

= p

,
3. monotonie: (p, q P) p q = p

.
Vom folosi urmatorul limbaj. p

este numit nchiderea elementului p. Un element p cu proprietatea


p

= p se va numi nchis.
Denit ia 1.3.2 Se numeste familie Moore o submult ime M P astfel nc at oricare ar p P mult imea
{m M | p m} are prim, adic a cel mai mic, element.
Vom folosi n continuare pentru orice p P notat ia
M
p
= {m M | p m}.
Propozit ie 1.3.3 Dac a

: P P este un operator de nchidere, atunci mult imea elementelor nchise
M = {p P : p = p

}
este o familie Moore.

In plus p

este cel mai mic(prim) element al mult imii M


p
.
Demonstrat ie: Pentru orice p P probam ca p

este cel mai mic(prim) element al mult imii M


p
.
Deoarece p

= p

rezult a ca p

M. Conform extensivitat ii p p

deducem ca p

apart ine mult imii


M
p
. Pentru orice m M
p
din p m deducem p

si din m M deducem m

= m deci p

m.
Observat ia 1.3.4 Dac a : P P este un operator de nchidere: p q

implic a p

Demonstrat ie: Deoarece q

este un element nchis cu proprietatea p q

si p

este cel mai mic element


nchis cu proprietatea p p

.
Propozit ie 1.3.5 Dac a M este o familie Moore si dac a pentru orice p P denim p

ca ind cel mai


mic element din M
p
obt inem un operator de nchidere

: P P.
Demonstrat ie: Deoarece p

M
p
deducem p

M si p p

pentru orice p P, adic a extensivitatea.


Deoarece p

este cel mai mic element din mult imea {m M | p

m} si p

apart ine acestei mult imi


rezult a p

. Folosind extensivitatea p

deducem p

= p

.
Daca p q cum q

este cel mai mic element din {m M | q m} rezult a ca q

M si q q

, prin
urmare p q

. Deoarece q

{m M | p m} deducem p

.
Propozit ie 1.3.6 Fie

un operator de nchidere, M = {p P | p = p

} familia Moore asociat a lui



conform propozit iei 1.3.3 si

operatorul de nchidere asociat familiei Moore M conform propozit iei 1.3.5.
Operatorii de nchidere

si

coincid.
18 CHAPTER 1. ALGEBRE MULTISORTATE
Demonstrat ie: Demonstram pentru orice p P ca p

= p

.
Fie p P. Prin denit ie p

este cel mai mic element al mult imii M


p
. Dar propozit ia 1.3.3 spune ca p

este cel mai mic element al lui M


p
, prin urmare p

= p

.
Deci operatorii de nchidere

si

coincid.
Propozit ie 1.3.7 Dac a M este o familie Moore,

operatorul de nchidere asociat lui M conform propozit iei
1.3.5 si M

= {q P | q = q

} familia Moore asociat a lui



conform propozit iei 1.3.3, atunci M = M

.
Demonstrat ie: Aratam pentru orice p P ca p M dac a si numai dac a p M

.
Fie p M

= {m P | m = m

}. Rezulta ca p = p

. Din p

M
p
deducem ca p

M deci p M.
Daca p M atunci p este cel mai mic element din mult imea {m M | p m} deci p = p

adic a
p M

.
Din propozit iile de mai sus se observ a echivalent a celor dou a concepte. Fix and mult imea part ial
ordonata (P, ), consideram multimea O a operatorilor de nchidere si mult imea M a familiilor Moore din
P. Propozit ia 1.3.3 ne d a o funct ie de la O la M. Propozit ia 1.3.5 ne d a o funct ie de la M la O. Celelalte
dou a propozit ii ne spun ca aceste functii sunt biject ii inverse una alteia.
Bazandu-ne pe motivat ia de mai sus nu vom mai face nici o distint ie ntre cele dou a concepte, aparit ia
n discut ie a unuia dintre ele introduc and automat si pe celalalt.
Urmatoarea propozit ie este util a n multe exemple.
Propozit ie 1.3.8

Intr-o latice complet a L, M este familie Moore dac a si numai dac a pentru orice A M,
infA M.
Demonstrat ie: Reamintim ca prin denit ie orice submult ime A dintr-o latice complet a are inmum(cel
mai mare minorant), pe care n continuare l not am infA.
Presupunem ca M este familie Moore. Pentru A M probam infA M. Operatorul de nchidere
asociat ind extensiv, deducem infA (infA)

. Probam ca (infA)

este minorant pentru A. Daca a A


atunci infA a de unde, deoarece operatorul de nchidere este cresc ator deducem (infA)

. Deoarece
a M deducem a

= a prin urmare (infA)

a. Asadar (infA)

este minorant pentru A, prin urmare


(infA)

infA. Rezulta ca (infA)

= infA, deci infA este element nchis si infA M.


Pentru cealalta implicat ie, presupunem ca orice submult ime a lui M are inmumn M. Probam ca M
este familie Moore. Fie p L si not am M
p
= {m M | p m}. Din ipoteza, infM
p
M. Deoarece p
este minorant pentru M
p
rezult a ca p infM
p
prin urmare infM
p
M
p
este primul element al mult imii
M
p
.
1.3.2 Parti stabile, Subalgebre
Ideea de parte stabil a este foarte simpla deoarece este un concept natural. Concret, o parte P a unei
algebre este stabil a dac a rezultatul aplic arii oric arei operat ii din algebr a unor elemente din P este tot n
P.
Denit ia 1.3.9 Fie A = (A
s
, A

) o -algebra si P
s
A
s
pentru orice s S. Partea P = {P
s
}
sS
a lui
A se numeste stabil a dac a pentru orice s
1
s
2
. . . s
n
S

, pentru orice s S, pentru orice


s
1
s
2
...sn,s
,
pentru orice a
1
P
s
1
, a
2
P
s
2
,. . . ,a
n
P
sn
elementul A

(a
1
, a
2
, . . . , a
n
) este n P
s
.
Observ am ca orice parte stabil a cont ine toate constantele, adic a (s S)(
,s
)A

P
s
.
Vom ar ata n cele ce urmeaza ca p artile stabile ale oric arei algebre formeaza o familie Moore. Pentru
aceasta se poate demonstra ca orice intersect ie de p arti stabile este o parte stabil a si aplica apoi propozit ia
de mai sus. L as am acest fapt ca exercit iu. Vom prefera o cale mai dicil a, utiliz and direct denit ia, dar
cu rezultat mult mai util n multe cazuri.
Fie A = (A
s
, A

) o -algebra si X A. Denim prin induct ie sirul de p art i ale lui A astfel


1.3. SUBALGEBRE 19
X
0
= X si
X
n+1
s
= X
n
s
{A

(a) : w S

,
w,s
, a X
n
w
} pentru orice n N si orice s S.
Observ am ca sirul {X
n
}
nN
este cresc ator. Mai observ am ca mult imea X
n+1
se obt ine ad aug and la
X
n
rezultatele aplic arii unei singure operat ii, o singura dat a, unor elemente din X
n
.
Denim partea X a lui A prin
X =

nN
X
n
.
Propozit ie 1.3.10 X este partea stabil a generat a de X.
Demonstrat ie: Cu alte cuvinte X este cea mai mic a parte stabil a a lui A care include X, adic a trebuie
s a demonstram ca
1. X X
2. X este parte stabil a
3. dac a P este o parte stabil a care include X atunci P include X
Prima incluziune este evidenta deoarece X = X
0
X.
Probam ca X este parte stabil a. Fie s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si a
1
X
s
1
, a
2
X
s
2
,
. . . , a
n
X
sn
. Pentru orice 1 i n din a
i
X
s
i
, adic a a
i


nN
X
n
s
i
, rezult a ca exista un num ar
natural k
i
cu proprietatea a
i
X
k
i
s
i
. Fie k cel mai mare dintre numerele k
1
, k
2
, . . . , k
n
. Deoarece sirul
{X
n
}
n
este cresc ator deducem ca a
i
X
k
s
i
pentru orice 1 i n. Din denit ia sirului {X
n
}
n
deducem
A

(a
1
, a
2
, . . . , a
n
) X
k+1
s
. Deoarece X
k+1
X deducem ca A

(a
1
, a
2
, . . . , a
n
) X
s
deci X este parte
stabil a.
Fie P o parte stabil a a algebrei A cu proprietatea X P. Probam prin induct ie ca X
n
P pentru
orice n natural.
Daca n = 0 atunci X
0
= X P.
Presupunem X
n
P si demonstram ca X
n+1
P. Fie a X
n+1
s
. Daca a X
n
s
din ipoteza de induct ie
deducem a P
s
. Altfel exista s
1
s
2
. . . s
k
S

, s S, si a
i
X
n
s
i
pentru orice 1 i k cu proprietatea
a = A

(a
1
, a
2
, . . . , a
k
). Din ipoteza de induct ie deducem a
i
P
s
i
pentru orice 1 i k. Deoarece P este
parte stabil a deducem ca A

(a
1
, a
2
, . . . , a
k
) P
s
, deci a P
s
.
Deoarece X
n
P pentru orice n natural rezult a ca

nN
X
n
P, deci X P.
Denit ia 1.3.11 Fie A o -algebra si X A. Daca X = A spunem ca X genereaz a A sau ca A este
generat a de X sau ca X este o mult ime de generatori ai algebrei A.
Operatorul de nchidere asociat familiei Moore a p art ilor stabile mai are si urmatoarele proprietat i:
1. dac a X Y sunt p art i ale algebrei, atunci X Y ,
2. X = X pentru orice parte X a algebrei.
Induct ie structurala
Aceasta metod a de a face induct ie este folosita pentru a demonstra ca elementele unei algebre au o anumit a
proprietate. Metoda se numeste structurala deoarece se bazeaz a pe structura algebrei.
Fie A = (A
s
, A

) o -algebra, X o mult ime de generatori ai algebrei A si P o proprietate referitoare


la elementele algebrei A. Pentru a dovedi ca toate elementele algebrei A au proprietatea P este sucient
ca s a dovedim ca
1. orice element din X are proprietatea P,
20 CHAPTER 1. ALGEBRE MULTISORTATE
2. pentru orice s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
dac a a
1
A
s
1
, a
2
A
s
2
, . . . , a
n
A
sn
sunt
elemente arbitrare cu proprietatea P, atunci A

(a
1
, a
2
, . . . , a
n
) are proprietatea P.
S a ne convingem de corectitudinea induct iei structurale. Fie B submult imea lui A formata din toate
elementele algebrei A care au propritatea P.
- Proprietatea 1 de mai sus ne asigura ca X B.
- Proprietatea 2 de mai sus ne asigura ca B este parte stabil a.
Deoarece X este cea mai mic a parte stabil a care include X din cele dou a proprietat i deducem X B.
Dar X = A deoarece X genereaz a algebra A, prin urmare A B, deci orice element din A are proprietatea
P.
Subalgebre
Conceptul de subalgebra este foarte apropiat de cel de parte stabil a. Diferent a principala const a n faptul
ca subalgebra este o algebr a iar partea stabil a este o mult ime.
O subalgebra a algebrei A = (A
s
, A

) este o alta algebr a B = (B


s
, B

) cu proprietat ile B A si
B

(b
1
, b
2
, . . . , b
n
) = A

(b
1
, b
2
, . . . , b
n
) oricare ar s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si b
1
B
s
1
,
b
2
B
s
2
, . . . , b
n
B
sn
.
Observ am ca dac a algebra B este subalgebra a algebrei A, atunci B este o parte stabil a a algebrei A.
Reciproc, dac a B este o parte stabil a a algebrei A putem deni subalgebra B de suport B prin
B

(b
1
, b
2
, . . . , b
n
) = A

(b
1
, b
2
, . . . , b
n
) oricare ar s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si b
1
B
s
1
,
b
2
B
s
2
, . . . , b
n
B
sn
.
1.3.3 Morsme si part i stabile
O pereche de morsme cu acelasi domeniu si acelasi codomeniu se mai numeste si s ageata dubla.
Denit ia 1.3.12 Fie f : A B si g : A B dou a morsme. Numin nucleu de sageata dubla al
morsmelor f si g submult imea lui A notat a Ker(f,g) si denita pentru orice sort s prin
Ker(f, g)
s
= {a A
s
: f
s
(a) = g
s
(a)}.
Propozit ie 1.3.13 Nucleul de s ageat a dubl a este o parte stabil a.
Demonstrat ie: Fie s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si a
1
Ker(f, g)
s
1
, a
2
Ker(f, g)
s
2
, . . . ,
a
n
Ker(f, g)
sn
. Pentru orice 1 i n deducem ca f
s
i
(a
i
) = g
s
i
(a
i
). Prin urmare
f
s
(A

(a
1
, a
2
, . . . , a
n
)) = B

(f
s
1
(a
1
), f
s
2
(a
2
), . . . , f
sn
(a
n
)) = B

(g
s
1
(a
1
), g
s
2
(a
2
), . . . , g
sn
(a
n
)) =
= g
s
(A

(a
1
, a
2
, . . . , a
n
)), deci A

(a
1
, a
2
, . . . , a
n
) Ker(f, g)
s
.
Corolar 1.3.14 Fie f : A B si g : A B dou a morsme si X o submult ime a lui A. Dac a
restrict iile lui f si g la X coincid, atunci restrct iile lui f si g la X sunt egale.
Demonstrat ie: Deoarece prin ipotez a (x X)f(x) = g(x) deducem X Ker(f, g). Deoarece Ker(f, g)
este parte stabil a si X este cea mai mic a parte stabil a care include X deducem X Ker(f, g). Deci
(x X)f(x) = g(x), adic a restrict iile lui f si g la X coincid.
Corolar 1.3.15 Fie f : A B si g : A B dou a morsme Dac a restrict iile lui f si g la o mult ime
de generatori ai algebrei A coincid, atunci f = g.
Demonstrat ie: Fie X o mult ime de generatori ai algebrei A, adic a X = A. Presupunem c a restrict iile
lui f si g la X sunt egale. Din corolarul anterior deducem c a restrict iile lui f si g la X coincid. Dar
X = A implic a f = g.
1.4. EXISTENTA ALGEBRELOR LIBERE 21
Propozit ie 1.3.16 Fie h : A B un morsm de -algebre.
1. Dac a P este o parte stabil a a lui A, atunci h(P) este o parte stabil a a lui B.
2. Dac a Q este o parte stabil a a lui B, aunci, h
1
(Q) este o parte stabil a a lui A.
3. Dac a X este o parte a lui A, atunci h(X) = h(X).
Demonstrat ie:
1. Prima proprietate spune ca imaginea direct a a unei p art i stabile printr-un -morsm este o parte
stabil a.
Fie s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si b
1
h
s
1
(P
s
1
), b
2
h
s
2
(P
s
2
), . . . , b
n
h
sn
(P
sn
).
Pentru orice 1 i n exista p
i
P
s
i
astfel nc at b
i
= h
s
i
(p
i
). Deoarece P este o parte stabil a deducem
A

(p
1
, p
2
, . . . , p
n
) P
s
. Observ am ca
h
s
(A
s
(p
1
, p
2
, . . . , p
n
)) = B
s
(h
s
1
(p
1
), h
s
2
(p
2
), . . . , h
sn
(p
n
)) = B
s
(b
1
, b
2
, . . . , b
n
).
Prin urmare B
s
(b
1
, b
2
, . . . , b
n
) h
s
(P
s
), deci h(P) este parte stabil a a algebrei B.
2. A doua proprietate spune ca imaginea invers a a unei p art i stabile printr-un -morsm este o parte
stabil a.
Fie s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si a
1
h
1
s
1
(Q
s
1
), a
2
h
1
s
2
(Q
s
2
), a
n
h
1
sn
(Q
sn
). Deoarece
Q este parte stabil a si h
s
1
(a
1
) Q
s
1
, h
s
2
(a
2
) Q
s
2
, . . . h
sn
(a
n
) Q
sn
deducem
B

(h
s
1
(a
1
), h
s
2
(a
2
), . . . , h
sn
(a
n
)) Q
s
. Deoarece
h
s
(A
s
(a
1
, a
2
, . . . , a
n
)) = B
s
(h
s
1
(a
1
), h
s
2
(a
2
), . . . , h
sn
(a
n
)) Q
s
deducem ca A
s
(p
1
, p
2
, . . . , p
n
) h
1
s
(Q
s
), deci h
1
(Q) este parte stabil a.
3. Din X X, deoarece imaginea direct a este cresc atoare, deducem h(X) h(X). Deoarece membrul
drept este o parte stabil a a lui B fapt ce rezult a din prima proprietate deducem ca
h(X) h(X).
Din h(X) h(X) deducem h
1
(h(X)) h
1
(h(X)). Deoarece X h
1
(h(X)) rezult a ca
X h
1
(h(X)). Deoarece membrul drept este conform proprietat ii 2 o parte stabil a a lui A de-
ducem X h
1
(h(X)). Deoarece imaginea direct a este cresc atare h(X) h(h
1
(h(X))). Deoarece
h(h
1
(h(X))) h(X) deducem
h(X) h(X).
Din cele dou a incluziuni de mai sus rezult a concluzia.
1.4 EXISTENTA ALGEBRELOR LIBERE
1.4.1 Algebre libere si algebre Peano
Algebrele libere si algebrele Peano sunt dou a concepte echivalente. Pentru a nt elege mai bine acest fapt
vom exemplica un fenomen asem an ator din cazul mult mai simplu al monoizilor.
Fie M un monoid si B M. Reamintim dou a denit ii echivalente pentru faptul ca monoidul M este
liber generat de submult imea sa B.
Denit ia 1.4.1 Pentru orice monoid N si orice funct ie f : B N exista un unic morsm f
#
: M N
de monoizi a carui restrict ie la B este f.
Denit ia 1.4.2 Pentru orice m M exista si sunt unice num arul natural n si elementele b
1
B, b
2
B,
. . . , b
n
B cu proprietatea m = b
1
b
2
. . . b
n
.
22 CHAPTER 1. ALGEBRE MULTISORTATE
S a observ am diferent a esent iala dintre cele dou a denit ii echivalente. Observ am ca n denit ia 1.4.1 nu
apar de loc elemente, ap ar and numai concepte din afara monoidului M. Denit ia 1.4.2 n schimb lucreaz a
numai cu elemente din interiorul monoidului.
Comparand denit ia dat a algebrelor libere cu cele dou a de mai sus constat am ca denit ia algebrelor
libere este asem an atoare cu denit ia 1.4.1. Sunt atat de asem an atoare nc at pot generalizate la cel mai
nalt nivel de abstractizare, cel al teoriei categoriilor prin conceptul de s ageata universal a.
Conceptul asem an ator celui din denit ia 1.4.2 este cel de algebr a Peano, concept echivalent, asa cum
am spus mai sus, cu cel de algebr a liber a.
Problema esent iala este de a demonstra existent a algebrelor libere, fapt care nu este simplu. Ream-
intim ca o algebr a liber a este de fapt o algebr a de expresii. Se poate demonstra ca expresiile formeaza o
algebr a Peano si apoi proba ca algebrele Peano sunt libere. Deoarece expresiile pot scrise n mai multe
moduri, ecare dintre aceste scrieri poate conduce la o demonstrat ie a existent ei algebrei Peano. Deoarece
textul se adreseaza n primul r and unor informaticieni vom prefera reprezentarea expresiilor ca arborii
etichetat i, local ordonat i, n care frunzele sunt etichete cu variabile(generatori) sau nume de constante.
Restul nodurilor sunt etichetate cu nume de operat ii ale c aror argumente sunt date de subarborii avand
r ad acinile drept succesori ai nodului.
Existent a algebrelor libere - varianta scurta
Denit ia 1.4.3 Se numeste mult ime S-sortata de variabile o mult ime S-sortat a X = {X
s
}
sS
cu
componentele disjuncte dou a cate dou a.
Condit ia de mai sus rezult a din faptul ca o variabil a nu poate de dou a sorturi diferite. Altfel spus ecare
variabil a si determina sortul. O denit ie echivalenta ar o funct ie f : X S.

In acest caz X
s
= f
1
(s)
pentru orice s S.
Varianta scurta este scrisa pentru cei care au dicultat i n a nt elege o demonstrat ie corect a dar mai
dicil a. Cei care prefer a varianta scurta pot s arii sect iunea urmatoare. Ceilalt i sunt invitat i s a sar a direct
la sect iunea urmatoare.
In aceast a varianta expresiile sunt scrise folosind scrierea uzual a cu paranteze si virgule.
Plec am de la o signatura (S, ) si o mult ime S-sortat a de variabile X.
Fie T

(X) cea mai mica mult ime S-sortat a cu urmatoarele proprietat i:


1. X
s
T

(X)
s
pentru orice s S,
2.
,s
T

(X)
s
pentru orice s S,
3. Pentru orice n 1, pentru orice s
1
s
2
. . . s
n
S

, pentru orice s S, pentru orice


s
1
s
2
...sn,s
,
dac a t
i
T

(X)
s
i
pentru orice 1 i n, atunci (t
1
, t
2
, . . . , t
n
) T

(X)
s
.
Mult imea S-sortat a T

(X) devine o -algebra denind operat iile notate T

dupa cum urmeaza:


1. T

= dac a
,s
2. T

(t
1
, t
2
, . . . t
n
) = (t
1
, t
2
, . . . , t
n
) dac a n 1,
s
1
s
2
...sn,s
si t
i
T

(X)
s
i
pentru orice 1 i n.
Vom demonstra n cele ce urmeaza ca -algebra (T

(X)
s
, T

) este liber generat a de X.


Fie A = (A
s
, A

) o -algebra si f : X A o funct ie S-sortat a.


Denim funct ia S-sortat a f
#
: T

(X) A prin
1. f
#
s
(x) = f
s
(x) pentru orice x X
s
si s S,
2. f
#
s
() = A

pentru orice
,s
,
1.4. EXISTENTA ALGEBRELOR LIBERE 23
3. f
#
s
((t
1
, t
2
, . . . , t
n
)) = A

(f
#
s
1
(t
1
), f
#
s
2
(t
2
), . . . , f
#
sn
(t
n
)) pentru orice n 1, orice s
1
s
2
. . . s
n
S

,
orice s S, orice
s
1
s
2
...sn,s
si orice t
i
T

(X)
s
i
pentru orice 1 i n.
Din prima parte a denit iei de mai sus se vede ca restrict ia funct iei f
#
la X este chiar funct ia f.
Din celelalte dou a p art i ale denit iei rezult a ca f
#
este un morsm de -algebre de la T

(X) la A.
Unicitatea: Daca h : T

(X) A este un morsm a carui restrict ie la X este f, deoarece X este


o mult ime de generatori ai lui T

(X) si deoarece h si f
#
coincid pe X deducem din cololarul 1.3.15 ca
h = f
#
.
Unde-i greseala?
1.4.2 Algebre Peano
Denit ia 1.4.4 O algebr a A = (A
s
, A

) se numet e Peano peste X A dac a


1. X genereaz a algebra A,
2. pentru orice
w,s
si orice a A
w
, A

(a) X
s
si
3. (
w,s
)(a A
w
)(

,s
)(a

A
w
) A

(a) = A

(a

) w = w

, =

si a = a

.
Teorema 1.4.5 Orice algebr a Peano peste X este liber generat a de X.
Demonstrat ie: Fie A = (A
s
, A

) o algebr a Peano peste X A, B o alta algebr a si h : X B o


funct ie.
Deoarece algebra A este generat a de X rezult a ca
A =

nN
X
n
unde X
0
= X si pentru orice n N si orice s S
X
n+1
s
= X
n
s
{A

(a) : w S

,
w,s
si a X
n
w
}.
Denim prin induct ie dupa n N sirul de funct ii h
n
: X
n
B prin h
0
= h si
h
n+1
s
(a) =

h
n
s
(a) dac a a X
n
s
B

(h
n
w
(a

)) dac a a = A

(a

) X
n
s
unde w S

,
w,s
si a

X
n
w
Corectitudinea acestei denit ii rezult a din condit ia 3 din denit ia algebrei Peano, care ne asigura ca scrierea
lui a sub forma a = A

(a

) este unic a.
Observ am ca sirul funct iilor h
n
: X
n
B este cresc ator, adic a restrict ia lui h
n+1
la X
n
este chiar h
n
.
Mai mult pentru orice m n restrict ia lui h
m
la X
n
este chiar h
n
.
Denim funct ia g : A B pentru orice s S si orice a A
s
prin
g
s
(a) = h
n
s
(a) dac a n este cel mai mic num ar natural cu proprietatea a X
n
s
.
Observ am ca pentru orice s S si orice a A
s
deoarece A =

nN
X
n
exista n N cu proprietatea
a X
n
s
.
Observ am ca g
s
(a) = h
m
s
(a) pentru orice num ar natural m cu proprietatea a X
m
s
.
Probam ca g : A B este morsm de algebre. Fie
w,s
si a A
w
.
Deoarece conform condit iei 2 din denit ia algebrei Peano A

(a) X
0
s
exista n cel mai mic num ar natural
cu proprietatea A

(a) X
n+1
s
X
n
s
. Rezulta ca
g
s
(A

(a)) = h
n+1
s
(A

(a)).
24 CHAPTER 1. ALGEBRE MULTISORTATE
Probam ca a X
n
w
. Deoarece A

(a) X
n+1
s
X
n
s
exista

,s
si a

X
n
w

astfel nc at A

(a) = A

(a

).
Rezulta conform condit iei 3 din denit ia algebrei Peano ca w = w

, =

si a = a

, deci a X
n
w
. Prin
urmare
g
w
(a) = h
n
w
(a) si h
n+1
s
(A

(a)) = B

(h
n
w
(a))
deci
g
s
(A

(a)) = B

(h
n
w
(a)) = B

(g
w
(a)).
Restrict ia lui g la X = X
0
este h
0
= h.
Unicitatea lui g este consecint a faptului ca X genereaz a A.
Am putea spune ca aceast a teorem a este partea comun a a tuturor demonstrat iilor privind existent a al-
gebrelor libere. Rolul acestei teoreme este de a reduce demonstrat ia existent ei algebrelor libere la existent a
algebrelor Peano. Cu alte cuvinte demonstrat ia de natura semantica este redusa la aspectele ei sintactice.
Ment ion am ca propozit ia 1.4.7 este reciproca teoremei de mai sus.
1.4.3 Algebra arborilor de derivare
O gramatic a independenta de context posed a dou a mult imi disjuncte, una a neterminalelor N si una a
terminalelor T precum si multimea P N (N T)

a product iilor. Chiar dac a conceptul de gramatic a


independenta de context veric a si alte condit ii, noi ne restrangem doar la cele de mai sus deoarece acestea
sunt utile n cele ce urmeaza.
Fiecarei gramaticii independente de context G i se poate atasa o signatura:
- neterminalele devin sorturi,
- product iile devin nume de operat ii,
- dac a (n, t
0
n
1
t
1
. . . n
k
t
k
) P unde literele n sunt neterminale si literele t sunt cuvinte cu litere termi-
nale, atunci
(n, t
0
n
1
t
1
. . . n
k
t
k
) : n
1
n
2
. . . n
k
n
adic a operat ia corespunzatoare lui (n, t
0
n
1
t
1
. . . n
k
t
k
) are ca rezultat un element de sortul indicat de neter-
minalul din membrul st ang al product iei, un num ar de argumente egal cu num arul de neterminale din mem-
brul drept al product iei si sorturile argumentelor sunt chiar neterminalele din membrul drept al product iei.
O algebr a a carei signatura este cea atasat a gramaticii independente de context G se numeste G-algebr a.
Un arbore de derivare ntr-o gramatic a independenta de context are urmatoarele proprietat i:
1. este un arbore nit si local ordonat, adic a succesorii ec arui nod sunt ntr-o ordine totala;
2. are noduri etichetate cu terminale sau neterminale, r ad acina ind etichetat a cu un neterminal;
3. orice nod etichetat cu un terminal nu are nici un succesor;
4. pentru orice nod, dac a este etichetat cu un neterminal n, atunci perechea formata din n si cuvantul
format de etichetele succesorilor formeaza o product ie (n, s
1
s
2
. . . s
k1
s
k
) P.
n
s s s
s
1 2 k-1
k
1.4. EXISTENTA ALGEBRELOR LIBERE 25
Arborii de derivare ai unei gramatici independente de context G pot organizat i ca o G-algebr a A
dupa cum urmeaza:
- pentru orice sort n, adic a pentru orice neterminal n, mult imea A
n
este formata din totalitatea arborilor
de derivare care au r ad acina etichetat a cu n.
- pentru product ia p = (n, t
0
n
1
t
1
. . . n
k
t
k
) si arborii a
i
A
n
i
arborele A
p
(a
1
, a
2
, . . . , a
k
) este format
astfel: r ad acina este etichetat a cu n, etichetele succesorilor r ad acinii n num ar egal cu num arul literelor
din t
0
n
1
t
1
. . . n
k
t
k
sunt chiar literele acestui cuvant si subarborele ec arui nod etichetat cu n
i
este chiar a
i
.
A
p
(a
1
, a
2
, . . . , a
k
) = n
.
n
n
n
n
n
n
n
n
n
n
n
n
n
n
n

C
C
C
C
C
C
C
C

t
0
?>=< 89:;
a
1 t
1
. . . ?>=< 89:;
a
k t
k
Teorema 1.4.6 Algebra arborilor de derivare ai unei gramatici independente de context este algebr a Peano
peste mult imea vid a.
Demonstrat ie: Pentru a proba ca A este generat a de mult imea vida este sucient s a demonstram ca A
este singura parte stabil a a lui A. Fie P o parte stabil a a lui A. Vom proba prin induct ie dupa ad ancimea
arborilor ca orice arbore este n P. Reamintim ca ad ancimea unui arbore este lungimea celei mai lungi
ramuri din arbore. Aici este esent iala nitudinea arborilor de derivare deoarece aceasta implic a existent a
ad ancimii oric arui arbore. Fie m un num ar natural. Presupunem prin ipoteza de induct ie ca orice arbore
cu ad ancimea strict mai mic a dec at m este n P. Probam ca orice arbore de ad ancime m este n P. Fie a un
arbore de ad ancime m. Analizand r ad acina si primul nivel al arborelui a deducem existent a unei product ii
p = (n, t
0
n
1
t
1
. . . n
k
t
k
) cu proprietatea
a = A
p
(a
1
, a
2
, . . . , a
k
).
unde a
i
sunt subarborii lui a care au varfurilen succesorii r ad acinii lui a care sunt etichetat i cu neterminale.
Observ am ca arborii a
1
, a
2
, . . . , a
k
au ad ancimea cu cel put in o unitate mai mic a dec at ad ancimea lui
a, adic a strict mai mic a dec at m. Prin ipoteza de induct ie rezult a ca a
i
P
s
i
pentru orice 1 i k.
Deoarece P este o parte stabil a deducem ca A
p
(a
1
, a
2
, . . . , a
k
) P
s
, deci a P
s
.
A doua condit ie din denit ia algebrelor Peano
A
p
(a
1
, a
2
, . . . , a
k
)
este evident adevarat a.
Trecem la ultima condit ie. Fie p = (n, t
0
n
1
t
1
. . . n
k
t
k
) si q = (n, t

0
s
1
t

1
. . . s
k
t

) dou a nume de
operat ii(product ii) unde literele n si s sunt neterminale si literele t sunt cuvinte formate din terminale. Fie
a
i
A
n
i
pentru 1 i k si b
i
A
s
i
pentru 1 i k

astfel nc at
A
p
(a
1
, a
2
, . . . , a
k
) = A
q
(b
1
, b
2
, . . . , b
k
)
Egal and cuvintele formate cu etichetele succesorilor r ad acinilor din cei doi arbori egali deducem
t
0
n
1
t
1
. . . n
k
t
k
= t

0
s
1
t

1
. . . s
k
t

k
.
Reamintim ca prin denit ia gramaticilor un element nu poate n acelasi timp si terminal si neterminal.
Deoarece num arul neterminalelor din cele dou a cuvintre trebuie s a e egal deducem egalitatea k = k

.
Deoarece primele neterminale din cele dou a cuvinte trebuie s a e pe aceeasi pozit ie deducem ca t
0
= t

0
si
n
1
= s
1
. Rezulta ca
t
1
n
2
t
2
. . . n
k
t
k
= t

1
s
2
t

2
. . . s
k
t

k
.
Continu am rat ionamentul ca mai sus si deducem t
i
= t

i
pentru 0 i k si n
i
= s
i
pentru 1 i k. De
aici deducem ca p = q.
26 CHAPTER 1. ALGEBRE MULTISORTATE

In nal egaland subarborii cu r ad acinile aate pe aceeasi pozit ie a primului nivel din arborii egali
A
p
(a
1
, a
2
, . . . , a
k
) si A
q
(b
1
, b
2
, . . . , b
k
) rezult a ca a
i
= b
i
pentru orice 1 i k.
Scriu r andurile care urmeaza deoarece de mai multe ori cat iva dintre student ii au contestat lipsa
primului pas al induct iei n prima parte a demonstrat iei de mai sus. El nu lipseste ci este pur si simplu
inclus n demonstrat ia de mai sus. Primul pas este cazul m = 0. Este evident ca prin ipoteza de induct ie
nu se presupune nimic deoarece nu exista arbori de ad ancime strict negativa. Arborele a de ad ancime 0
nu are dec at r ad acin a etichetat a s a spunem cu n, prin urmare p = (n, cuvantul vid) este product ie, deci
a = A
p
.

In concluzie A
p
P
n
deoarece P este parte stabil a, deci a P
n
.
1.4.4 Existent a algebrelor init iale
Urmarim s a ar atam ca pentru orice signatura (S, {
w,s
}
wS

,sS
) exista o -algebra init iala pe care n cele
ce urmeaza o vom nota cu T

.
Construct ia algebrei init iale care urmeaza este bazata pe scrierea polonez a a expresiilor far a variabile,
adic a un sir de semne de operat ii n care semnul de operat ie este plasat n fat a argumentelor sale care
trebuie sa-l urmeze. Pentru generarea acestor expresii vom folosi o gramatic a independenta de context.
Product iile de forma (s, s
1
s
2
. . . s
n
) unde
s
1
s
2
...sn,s
spun ca dac a e
i
este expresie de sort s
i
pentru
orice 1 i n, atunci e
1
e
2
. . . e
n
este expresie de sort s.
Far a a micsora generalitatea vom presupune ca S si sunt disjuncte.
Consideram G gramatica independenta de context denita prin
1. Mult imea neterminalelor este S,
2. Mult imea terminalelor este si
3. Mult imea product iilor este
{(s, w) | w S

, s S si
w,s
}.
Notam cu A = (A
s
, {A
(s,w)
}
w,s
) algebra arborilor ei de derivare. Ea este, conform teoremei 1.4.6,
algebr a Peano peste mult imea vida. Conform teoremei 1.4.5, A este G-algebr a liber generat a de mult imea
vida, adic a G-algebr a init iala.
Nu ne mai r am ane dec at s a observ am ca not iunile de G-algebr a si -algebra coincid. Pentru aceasta
pentru
s
1
s
2
...sn,s
operat ia corespunz atoare product iei atasate (s, s
1
s
2
. . . s
n
) este o funct ie
A
s
1
A
s
2
. . . A
sn
A
s
.
1.4.5 Existent a algebrelor libere
Urmarim s a ar atam ca pentru orice signatura (S, ) si pentru mult ime S-sortat a de variabile X exista o
-algebra liber generat a de X pe care n cele ce urmeaza o vom nota cu T

(X). Reamintim ca mult imea


S-sortat a X are componentele disjuncte dou a cate dou a. Far a a micsora generalitatea vom presupune ca
si X sunt disjuncte.
Construct ia algebrei libere generate de o mult ime de variabile se bazeaz a pe existent a algebrelor int iale.
Comparand formarea, n stil intuitiv, al expresiilor far a variabile cu a expresiilor cu variabile observ am
ca diferent a este doar la inceput. Pentru construct ia expresiilor far a variabile se pleac a de la costante,
operat iile far a argumente. Pentru construct ia expresiilor cu variabile se pleac a de la costante si variabile.

In continuare, n ambele cazuri se continu a cu aplicarea operat iilor neconstante n toate modurile posibile.
Se ajunge, n cazul expresiilor far a variabile, la algebra init iala si n cazul expresiilor cu variabile din
mult imea S-sortat a X la algebra liber generat a de X.
Trecem la formalizarea ideilor de mai sus. Consideram signatura algebric a
X
= X unde orice
variabil a x X
s
devine o constanta de sort s.
1.5. SEMANTICA ALGEBREI INIT IALE 27
Fie
I = ({I
s
}
sS
, {I

, {I
x
}
xX
)
o
X
algebr a init iala. Vom proba ca algebra ({I
s
}
sS
, {I

) impreuna cu funct ia injectiv a


f : X {I
s
}
sS
denta prin f
s
(x) = I
x
pentru orice s S si x X
s
sunt o algebra liber gen-
erat a de X.
Fie A = (A
s
, A

) o algebra si g : X A o funct ie Ssortat a. Consideram


X
algebra
(A
s
, A

, {g(x)}
xX
) si unicul morsm de
X
algebre existent
h : I (A
s
, A

, {g(x)}
xX
).
Este sucient s a mai remarcam ca h : I (A
s
, A

, {f(x)}
xX
) este morsm de
X
algebra dac a si
numai dac a h : ({I
s
}
sS
, {I

) A este morsm de algebre si g; h = f.


Propozit ie 1.4.7 Orice algebr a liber a este Peano
Demonstrat ie: Fie L o -algebra liber generat a de mult imea X. Consideram o -algebra P Peano peste
X. Deoarece si P este liber generat a de X rezult a existent a unui izomorsm i : P L cu proprietatea
i(x) = x pentru orice x X. Deoarece orice algebr a izomorfa cu o algebr a Peano este algebr a Peano
rezult a ca L este algebr a Peano peste X.
1.5 SEMANTICA ALGEBREI INITIALE
Ment ion am aici pe marele informatician, regretatul Joseph Goguen, profesorul si prietenul multor rom ani,
care spunea ca semantica algebrei init iale este una dintre cele mai frumoase idei ale sale [10].
Metoda semanticii algebrei initiale este o simplicare a metodei mai clasice a semanticii denotat ionale,
numit a si semantica matematic a.
Metoda semanticii algebrei int iale se aplic a pentru limbaje denite printr-o gramatic a independenta
de context G = (N, T, P, a), unde N este mult imea neterminalelor, T mut imea terminalelor, P mult imea
product iilor si a axioma gramaticii. Ea spune ca pentru a deni semantica limbajului gramaticii G
este sucient sa dam o G-algebra S = ({S
n
}
nN
, {S
p
}
pP
), numit a n continuare algebra semantica.
Pentru a nt elege armat ia de mai sus trebuie s a intr am put in n am anunte. Fie A algebra arborilor
de derivare. Deoarece A este algebr a int iala exista un unic morsm de G-algebre
M : A S.
Dat un cuvant c din limbajul gramaticii G exista un arbore de derivare arb cu r ad acina etichetat a cu a a
carui frontier a este c. Semantica cuvantului c este prin denit ie M
a
(arb).
Ment ion am ca metoda este bine denita numai pentru gramaticile neambigue, fapt care asigura unici-
tatea arborelui arb. Acest aspect este mai degraba legat de analiza sintactica.
Trecem la exemple care vor clarica si mai mult ideile de mai sus.
1.5.1 Semantica unui sir de cifre ca numar natural
Vom considera o gramatic a G care genereaz a sirurile nite nevide de cifre zecimale, considerate ca terminale.
Gramatica are dou a neterminale <cifra> si <nat> ultima ind si axioma a gramaticii. Descriem n
continuare product iile gramaticii carora le d am un nume
ci <cifra> i pentru orice cifra zecimal a i
n1 <nat> <cifra>
n2 <nat> <nat> <cifra>
28 CHAPTER 1. ALGEBRE MULTISORTATE
Vom deni algebra semantica explicand de ce o denim astfel. Deoarece gramatica are dou a neterminale,
signatura asociata are dou a sorturi, prin urmare algebra semantica trebuie s a aib a ca suport dou a mult imi.
Semantica unei cifre, care nu este nimic altceva dec at un semn, este num arul reprezentat de cifra. Prin
urmare suportul corespunzator neterminalului <cifra> trebuie s a cont in a m acar numerele de la zero la
nou a. Deci prin denit ie
S
<cifra>
= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.
Deoarece semantica unui sir nit de cifre este num arul natural pe care acest sir l reprezinta, suportul
corespunzator neterminalului <nat> trebuie s a cont in a m acar mult imea numerelor naturale. Deci prin
denit ie
S
<nat>
= este mult imea numerelor naturale.
S a trecem la denirea operat iilor algebrei semantice.
Deoarece product ia ci corespunzatoare cifrei i nu are nici un neterminal n membrul drept, operat ia
corespunzatoare ei este o operat ie far a argumente, adic a un element din S
<cifra>
S
ci
este num arul natural reprezentat de cifra i.
Product ia n1 spune ca orice cifra este un sir dr cifre. Deoarece valoarea num arului reprezentat de un sir de
lungime unu este egala cu valoarea num arului reprezentat de singura cifra din sir si semantica lor trebuie
s a e aceeasi. Deci prin denit ie
S
n1
este funct ia incluziune de la S
<cifra>
la S
<nat>
.
Product ia n2 ne spune ca prin ad augarea la dreapta unui sir de cifre, s a spunem s1, a unei cifre, s a spunem
c, se obt ine un nou sir de cifre s2 = s1c. Operat ia corespunzatoare product iei n2 trebuie s a e o funct ie
S
n2
: S
<nat>
S
<cifra>
S
<nat>
denita pentru numele n si m prin
S
n2
(n, m) = 10n +m
deoarece valoarea ca num ar a sirului s2 este egala cu de zece ori valoarea ca num ar a sirului s1 plus valoarea
ca num ar a cifrei.
Cu aceasta semantica este complet denita. Vom exemplica pentru sirul 023. Arborele de derivare
pentru acest sir este
A
n2
(A
n2
(A
n1
(A
c0
), A
c2
), A
c3
).
S a-i aplic am morsmul semantic acestui arbore.
M
<nat>
(A
n2
(A
n2
(A
n1
(A
c0
), A
c2
), A
c3
)) = S
n2
(S
n2
(S
n1
(S
c0
), S
c2
), S
c3
) = S
n2
(S
n2
(S
n1
(0), 2), 3) =
= S
n2
(S
n2
(0, 2), 3) = S
n2
(10 0 + 2, 3) = S
n2
(2, 3) = 10 2 + 3 = 23
Ce sa ntampl a dac a n membrul drept al product iei n2 scriem < cifra >< nat >?
1.5.2 Un calculator de buzunar
Vom da un alt exemplu, cel al unui minicalculator pe fat a caruia se a a un mic ecran pe care se poate
asa un singur num ar si mai multe butoane:
ON pentru pornirea calculatorului
OFF pentru oprirea calculatorului
0 1 2 3 4 5 6 7 8 9 pentru cifrele zecimale
+ pentru adunare si nmult ire
1.5. SEMANTICA ALGEBREI INIT IALE 29
M pentru unica celul a de memorie a calculatorului
( ) pentru parantezele necesare n scrierea expresiilor
IF , pentru o anumit a expresie condit ionat a
E pentru comanda de evaluarea a unei expresii
Remarcam ca butoanele diferite de ON, OFF si E sunt folosite pentru introducerea expresiilor care
vor evaluate la ap asarea butonului E. Sintaxa expresiilor este denita de product iile r1-r6 ale gramaticii
de mai jos. Expresiile sunt construite pornind de la sirurile nite de cifre zecimale reprezentand numere
naturale(product ia r1), variabila M(product ia r2) si recursiv, alte expresii cuprinsentre paranteze(product ia
r6). Pentru construt ia expresiilor sunt folosite numai operat iile de adunare si nmult ire(product iile r3 si r4).
Product ia r5 permite construirea unor expresii condit ionate unde condit ia reprezentata de prima expresie
permite o alegere ntre celelalte dou a expresii.
Vom considera o gramatic a G care genereaz a limbajul programelor care pot executate de minicalcu-
lator. Ea extinde gramatica din exemplul precedent. Numele butoanelor de mai sus sunt chiar terminalele
gramaticii.
Gramatica are cinci neterminale <cifra>, <nat>, <exp> pentru expresii, <inst> pentru anumite
port iuni de programe si <program> care este si axioma a gramaticii. Descriem n continuare product iile
gramaticii carora le d am un nume pe care l-am scris la nceputul r andului, n fat a product iei.
ci <cifra> i pentru orice cifra zecimal a i
n1 <nat> <cifra>
n2 <nat> <nat> <cifra>
r1 <exp> <nat>
r2 <exp> M
r3 <exp> <exp> + <exp>
r4 <exp> <exp> <exp>
r5 <exp> IF <exp>,<exp>,<exp>
r6 <exp> (<exp>)
r7 <inst> <exp> E OFF
r8 <inst> <exp> E <inst>
r9 <program> ON <inst>
Pentru a da semantica este necesar s a explicam cum functioneaz a calculatorul. Se porneste calculatorul
ap as and butonul ON, moment n care se init ializeaza unica celul a de memorie cu zero. Se introduce o
expresie care la ap asarea butonului E se evalueaz a. Rezultatul evaluarii este asat pe ecran si introdus n
unica celul a de memorie n locul vechii valori. Se introduce alta expresie, se apas a butonul E si asa mai
departe. La nal se apas a butonul OFF pentru nchiderea calculatorului. Mai remarcam ca se calculeaz a
numai cu numere naturale.
Vom deni algebra semantica. Deoarece signatura asociata are cinci sorturi, algebra semantica trebuie
s a aib a ca suport cinci mult imi, primele dou a ind cele de mai sus S
<cifra>
si S
<nat>
.
Expresiile sunt facute pentru a evaluate, prin urmare prima idee ar ca semantica unei expresii s a e
rezultatul evalu arii, adic a un num ar. Dar oare ce num ar se obt ine prin evaluarea expresiei M+3. Trebuie
s a ment ion am ca ecare aparit ie a lui M este nlocuita n timpul evalu arii cu valoarea care se a a n unica
celul a de memorie. Prin urmare rezultatul evalu arii lui M+3 depinde de cont inutul celulei de memorie.
Prin urmare semantica expresiei M+3 este funct ia f : N N dena prin f(x) = x + 3 care asociaza
num arului x care se a a n celula de memorie rezultatul x + 3 al evalu arii acesteia. Prin urmare prin
denit ie S
<exp>
este mult imea funct iilor de la mult imea numerelor naturale la ea ns asi.
O instruct iune, generat a de product iile r7 si r8, comanda evaluarea unui sir nit de expresii. Semantica
instruct iunii este, prin denit ie, sirul numerelor care apar pe ecran n timpul execut iei instruct iunii, adic a
un sir nit si nevid de numere naturale. Mult imea acestor siruri o not am cu N
+
. Rezultatul evalu arii
30 CHAPTER 1. ALGEBRE MULTISORTATE
depinde evident de valoarea din memorie din momentul nceperii execut iei instruct iunii, prin urmare
S
<inst>
= {f : N N
+
| f este funct ie.}
Un program, generat de product ia r9, difera de o instruct iune prin faptul ca se introduce zero n celula
de memorie nainte de execut ia instruct iunii pe care o cont ine, prin urmare sirul de numere care apar pe
ecran n timpul execut iei programului nu mai depinde de cont inutul memoriei, ind un element din N
+
,
deci S
<program>
= N
+
.
Folosind urmatoarele notat ii
m este un num ar natural reprezentand cont inutul celulei de memorie
n este un num ar natural
e este o funct ie de la N la N reprezentand semantica unei expresii
este o funct ie de la N la N
+
reprezentand semantica unei instruct iuni
denit iile pentru operat ii, far a a le mai repeta pe cele de mai sus sunt:
S
r1
(n)(m) = n
S
r2
(m) = m
S
r3
(e1, e2)(m) = e1(m) +e2(m)
S
r4
(e1, e2)(m) = e1(m) e2(m)
S
r5
(e1, e2, e3)(m) = dac a e1(m) = 0 atunci e2(m) altfel e3(m)
S
r6
(e) = e
S
r7
(e)(m) = e(m)
S
r8
(e, )(m) = e(m)(e(m))
S
r9
() = (0)
1.5.3 Arbori de derivare
Reamintim proprietat ile unui arbore de derivare dintr-o gramatic a independenta de context:
1. este un arbore nit si local ordonat, adic a succesorii ec arui nod sunt ntr-o ordine totala;
2. are noduri etichetate cu terminale sau neterminale, r ad acina ind etichetat a cu un neterminal;
3. orice nod etichetat cu un terminal nu are nici un succesor;
4. pentru orice nod, dac a este etichetat cu un neterminal n, atunci perechea formata din n si cuvantul
format de etichetele s
1
, s
2
, . . . , s
k
ale succesorilor s ai formeaza o product ie (n, s
1
s
2
. . . s
k1
s
k
) P.
O gramatica pentru expresii
Denim o gramatic a independenta de context pentru expresiile construite cu variabilele x, y si z, cu
operat iile binare de adunare si nmult ire si cu paranteze. Gramatica trebuie constrita respectand urma-
toarele condit ii privind expresiile:
1. nmult irile se fac naintea adunarilor
2. adunarile se fac de la st anga la dreapta
3. nmult irile de la dreapta la st anga.
Mult imea terminalelor este {x, y, z, (, ), +, }. Fie N = {V, F, T, E, P} mult imea neterminalelor. Semnicat ia
lor este urmatoarea:
V reprezinta variabilele
F de la factor, reprezinta cele mai mici elemente folosite n construct ia expresiilor
T de la termen, reprezinta un produs de factori
E de la expresie, reprezinta o suma de termeni
1.5. SEMANTICA ALGEBREI INIT IALE 31
P de la program.
Continu am cu mult imea regulilor(product iilor) gramaticii:
0. P E 1. V x 2. V y 3. V z 4. F V
5. F (E) 6. T F 7. T F T 8. E T 9. E E +T
Observat i product iile 7 si 9 pentru a vedea cum se precizeaz a ordinea de execut ie a operat iilor de acelasi
fel. Neterminalul din membrul st ang se a a n dreapta, respectiv n st anga semnului operat iei.
Un exemplu
S a se construiasca arborele de derivare pentru expresia x +y (x +y) z +z.
32 CHAPTER 1. ALGEBRE MULTISORTATE
P
E
E
E
T
T
T
z
F
F
+
+
V
x
T
*
V
y
F
T
*
( )
E
E
+
T
T
F
V
x
F
V
y
F
V
F
V
z
Pentru a reface expresia, arborele se parcurge n inordine.
Daca vet i incerca s a construit i alt arbore de derivare pentru aceeasi expresie vet i constata ca acest lucru
nu este posibil. Prin urmare modul de construct ie al expresiei va impune o anumit a ordine n evaluarea
acesteia.
Folosind numerele care denumesc product iile ca nume ale operat iilor din algebra arborilor de derivare
arborele de mai sus este
A = 0(9[9{a, 7(4[2], 7[ 5{9(a,6[4(2)])},b ]) },b])
unde a = 8(6[4(1)]) si b = 6(4(3)).
1.5. SEMANTICA ALGEBREI INIT IALE 33
0
9
9
8
7
6
6
4
4
1
7
2
5
6
9
8 6
6
4
1
4
2
4
3
4
3
1.5.4 Scrierea poloneza inversa
Semantica pe care o d am unui limbaj depinde de scopul pe care-l urmarim. Pentru a ilustra aceast a idee
vom da dou a semantici pentru expresiile denite mai sus.
Prima semantica va da scrierea polonez a invers a pentru expresii. A doua semantica va dat a n
sect iunea urmatoare.
Algebra semantica va avea toate suporturile egale cu semigrupul liber generat de {x, y, z, +, }, sau mai
popular mult imea sirurilor nite nevide de semne din {x, y, z, +, }. Operat iile sunt urmatoarele:
0 = 4 = 5 = 6 = 8 sunt aplicat ia identitate,
1 = x, 2 = y si 3 = z,
34 CHAPTER 1. ALGEBRE MULTISORTATE
7(, ) = si 9(, ) = +.
Notam cu S algebra semantica de mai sus, cu A algebra arborilor de derivare si cu C : A S unicul
morsm de algebre existent. Morsmul C este modelarea algebric a a rescrierii expresiei n scrierea polonez a
invers a.
Conform metodei semanticii algebrei init iale rezult a c a C(A) este scrierea polonez a nvers a a expresiei
x +y (x +y) z +z.
Calculele sunt urmatoarele
C(a) = 8(6[4(1)]) = x si C(b) = 6(4(3)) = z
C(A) = C(0(9[9{a, 7(4[2], 7[ 5{9(a,6[4(2)])},b ]) },b])) = 9[9{x, 7( y , 7[ 9(x,y) ,z ]) },z] =
9[9{x, 7( y , 7[xy+,z]) },z] = 9[9{x, 7(y,xy +z) },z] = 9[9{x, yxy +z },z] = 9[xyxy +z +,z] =
xyxy +z +z +.
Rezultatul nal conrma corectitudinea si ecacitatea metodei.
1.5.5 Compilare
Un compilator care va produce un program pentru evaluarea expresiilor si tip arirea rezultatului evalarii va
modelat printr-un morsm.
Vom pune n evident a elementele care apar n programele obt inute prin compilare. R este un registru
din memorie. P este un pointer catre primul loc liber al stivei utilizate n timpul evalu arii. Ori de cate ori
se pune un element n stiva pointerul creste automat cu o unitate. Ori de cate ori se scoate un element din
stiva pointerul scade automat cu o unitate. Presupunem ca la nceputul execut iei programului pointerul
indic a primul loc liber din stiva.
Presupunem ca limbajul de asamblare include urmatoarele instruct iuni:
Ad R scoate valoarea din varful stivei, o aduna cu cont inutul lui R si pune rezultatul n R
Mu R scoate valoarea din varful stivei, o inmult este cu cont inutul lui R si pune rezultatul n R
ld R scoate valoarea din varful stivei si o pune n R
st R valoarea din R este pusa n varful stivei
print tip areste valoarea din varful stivei
Semantica unei expresii va programul care evalueaz a expresia si imprima rezultatul evalu arii. Pro-
gramul care evalueaz a o expresie are ca efect plasarea n varful stivei a rezultatului evalu arii acesteia si
avansarea pointerului. Pentru denirea acesteia se va folosi metoda semanticii algebrei init iale.
Toate cele 5 suporturi ale algebrei semantice, corespunzatoare neterminalelor, sunt identice si coincid
cu mult imea buc at ilor de program(siruri de instruct iuni separate prin ;). Astfel de buc at i de programe vor
notate cu litere grecesti.
Cele 10 operat ii ale algebrei semantice, corespunzatoare product iilor sunt:
1
S
= st x
2
S
= st y
3
S
= st z
4
S
() =
5
S
() =
6
S
() =
7
S
(,) = ; ; ld R ; Mu R ; st R
8
S
() =
9
S
(,) = ; ; ld R ; Ad R ; st R
0
S
() = ; print
1.6. CONGRUENT E SI ALGEBRE C

AT 35
Notam cu S algebra semantica de mai sus, cu A algebra arborilor de derivare si cu C : A S unicul
morsm de algebre existent. Morsmul C este modelarea algebric a a compilatorului.
Conform metodei semanticii algebrei init iale rezult a c a C(A) este programul care evalueaz a si tip areste
rezultatul pentru expresia x +y (x +y) z +z.
Program
Prezentam calculele care dovedesc armat ia de mai sus.
C(a) = 8
S
(6
S
[4
S
(1
S
)]) = 1
S
si C(b) = 6
S
(4
S
(3
S
)) = 3
S
Notand c = 7[ 5{9(a,6[4(2)])},b] deducem
C(c) = 7
S
[ 5
S
{9
S
(1
S
,6
S
[4
S
(2
S
)])},3
S
] =
7
S
[ 9
S
(1
S
,2
S
),3
S
] =
9
S
(1
S
,2
S
) ; 3
S
; ld R ; Mu R ; st R =
1
S
; 2
S
; ld R ; Ad R ; st R ; 3
S
; ld R ; Mu R ; st R =
st x ; st y ; ld R ; Ad R ; st R ; st z ; ld R ; Mu R ; st R
Deoarece
A = 0(9[9{a, 7(4[2], c)}, b])
deducem
C(A) = 0
S
(9
S
[9
S
{1
S
, 7
S
(2
S
,C(c))},3
S
]) =
9
S
[9
S
{1
S
, 7
S
(2
S
,C(c)) },3
S
] ; print =
9
S
{1
S
, 7
S
(2
S
,C(c)) } ; 3
S
; ld R ; Ad R ; st R ; print =
1
S
; 7
S
(2
S
,C(c)) ; ld R ; Ad R ; st R ; 3
S
; ld R ; Ad R ; st R ; print =
1
S
; 2
S
; C(c) ; ld R ; Mu R ; st R ; ld R ; Ad R ; st R ; 3
S
; ld R ; Ad R ; st R ; print =
st x ; st y ; st x ; st y ; ld R ; Ad R ; st R ; st z ; ld R ; Mu R ;
st R ; ld R ; Mu R ; st R ; ld R ; Ad R ; st R ; st z ; ld R ; Ad R ; st R ; print
Optimizare cod
Programul de mai sus poate simplicat. Observ am ca grupul de instruct iuni st R ; ld R are efect
cumulat nul ceea ce conduce la programul
st x ; st y ; st x ; st y ; ld R ; Ad R ; st R ; st z ; ld R ; Mu R ;
Mu R ; Ad R ; st R ; st z ; ld R ; Ad R ; st R ; print
1.6 CONGRUENT E si ALGEBRE C

AT
Daca f : A B este o funct ie relat ia Ker(f) denita prin
Ker(f) = {(a, b) AA : f(a) = f(b)}
se numeste echivalent a nucleara a lui f, sau mai pe scurt nucleul lui f.
Echivalent a nuclear a a unei funct ii este o relat ie de echivalent a.

In cazul multisortat nucleul este luat
pe componente, adic a pentru ecare sort n parte.
36 CHAPTER 1. ALGEBRE MULTISORTATE
1.6.1 Congruent e
O relat ie de echivalent a ntr-o -algebra (A
s
, A

) este de fapt o familie de relat ii de echivalent e, cate una


pentru ecare mult ime A
s
. O congruent a este o relat ie de echivalent a care este compatibila cu operat iile al-
gebrei. De fapt compatibilatea trebuie cerut a numai pentru operat iile cu argumente caci pentru o constanta
A

rezult a din reexivitate.


Denit ia 1.6.1 O congruent a = {
s
}
sS
n -algebra (A
s
, A

) este o relat ie de echivalent a cu propri-


etatea pentru orice s
1
s
2
. . . s
n
S

, pentru orice s S, pentru orice


s
1
s
2
...sn,s
, dac a a
i

s
i
b
i
n A
s
i
pentru orice 1 i n, atunci
A

(a
1
, a
2
, . . . , a
n
)
s
A

(b
1
, b
2
, . . . , b
n
).
Cea mai mic a congruent a este relat ia de egalitate. Cea mai mare congruent a este relat ia totala.
Propozit ie 1.6.2 Dac a h : A B este un -morsm, atunci Ker(h) este o congruent a.
Demonstrat ie: Fie s
1
s
2
. . . s
n
S

, s S si
s
1
s
2
...sn,s
. Presupunem c a a
i
Ker(h
s
i
) b
i
n A
s
i
pentru
orice 1 i n. Rezult a c a h
s
i
(a
i
) = h
s
i
(b
i
) pentru orice 1 i n. Prin urmare
h
s
(A

(a
1
, a
2
, . . . , a
n
)) = B

(h
s
1
(a
1
), h
s
2
(a
2
), . . . , h
sn
(a
n
)) =
B

(h
s
1
(b
1
), h
s
2
(b
2
), . . . , h
sn
(b
n
)) = h
s
(A

(b
1
, b
2
, . . . , b
n
))
asadar A

(a
1
, a
2
, . . . , a
n
) Ker(h
s
) A

(b
1
, b
2
, . . . , b
n
). Deci Ker(h) este congruent a.
Propozit ie 1.6.3 Orice intersect ie de congruent e este tot o congruent a.
Demonstrat ie: Fie {
k
}
kK
o mult ime de congruent e si
=

kK

k
.
Prob am c a este congruent a.
Fie s
1
s
2
. . . s
n
S

, e s S, e
s
1
s
2
...sn,s
si a
i
b
i
n A
s
i
pentru orice 1 i n. Rezult a c a
a
i

k
b
i
pentru orice k K si orice 1 i n.
Pentru orice k K deoarece
k
este congruent a, indc a a
i

k
b
i
n A
s
i
pentru orice 1 i n deducem
A

(a
1
, a
2
, . . . a
n
)
k
A

(b
1
, b
2
, . . . , b
n
).
Deci
A

(a
1
, a
2
, . . . a
n
) A

(b
1
, b
2
, . . . , b
n
).
Aceasta propozit ie ne spune ca mult imea congruent elor unei algebre este o familie Moore.

Incercat i s a
caracterizat i operatorul de nchidere asociat.
Congruent e de grupuri - numai pentru cei stiu ce este un subgrup normal
Grupurile sunt privite ca algebre cu trei operatii: una binara , una unara * si o constanta e. De ce?
Exist a cel put in dou a motive.
a)Motivul principal este disparit ia cuanticatorului existent ial din axiomele conceptului de grup
(xyz)x (y z) = (x y) z
(x)x e = x
(x)x x = e.
1.6. CONGRUENT E SI ALGEBRE C

AT 37
Aceasta plaseaz a conceptul de grup printre structurile algebrice ecuat ional axiomatizabile, concept bine
studiat n algebr a.
b) Conceptele generale din teoria algebrelor multisortate dau prin particularizare conceptele uzuale din
teoria grupurilor.
Conceptul de parte stabil a coincide cu cel de subgrup.
Conceptul de morsm de -algebra coincide cu cel de morsm de grup.
Doua condit ii se impun pentru conceptul de congruent a
1. a b si c d implic a a c b d,
2. a b implic a a

.
Practic r am ane numai una deoarece a doua condit ie este o consecint a a primeia: presupun and a b,
folosind reexivitatea din a

, a b si b

deducem a

a b

b b

, prin urmare b

,
deci a

.
Propozit ie 1.6.4

In orice grup conceptul de congruent a este echivalent cu cel de subgrup normal
Demonstrat ie:
1. Data o congruent a clasa elementului neutru este un subgrup normal.
2. Dat un subgrup normal N relat ia denita prin
a b dac a si numai dac a a b

N
este o congruent a.
3. Cele dou a treceri, de la un concept la celalalt si reciproc, stabilesc o biject ie ntre mult imea
congruent elor unui grup si mult imea subgrupurilor sale normale.
Congruent e de inele - numai pentru cei care stiu ce este un ideal
Pentru simplicitate vom prefera cazul comutativ.
Signatura conceptului de inel cont ine pe lang a cele trei operat ii corespunzatoare grupurilor nc a dou a
simboluri de aritate 2, respectiv 0 corespunzatoare structurii monoidului multiplicativ.
Conceptul de parte stabil a coincide cu cel de subinel.
Conceptul de morsm de -algebra coincide cu cel de morsm de inel.
Av and n vedere cazul grupurilor este sucient s a punem condit ia de congruent a numai pentru cele
dou a operat ii binare.
Propozit ie 1.6.5

In orice inel comutativ conceptul de congruent a este echivalent cu cel de ideal.
Demonstrat ie:
1 Data o congruent a clasa elementului neutru pentru adunare este un ideal.
2 Dat un ideal N relat ia denita prin
a b dac a si numai dac a a b N
este o congruent a.
3. Cele dou a treceri, de la un concept la celalalt si reciproc, stabilesc o biject ie ntre mult imea
congruent elor unui inel si mult imea idealelor sale.
38 CHAPTER 1. ALGEBRE MULTISORTATE
Concluzie
Conceptul de congruent a este cel important. Este un fapt ntampl ator ca pentru anumite structuri algebrice
congruent ele pot caracterizate de unele substructuri particulare.
1.6.2 Algebre cat
Proprietatea de universalitate a mult imii cat.
Propozit ie 1.6.6 Fie o relat ie de echivalent a n mult imea A. Fie A/ mult imea c at si : A A/
surject ia natural a de factorizare. Pentru orice funct ie f : A B
dac a Ker(f), atunci exist a o unic a funct ie f
#
: A/ B cu proprietatea ; f
#
= f.
Demonstrat ie: Denim funct ia f
#
pentru orice a A prin
f
#
((a)) = f(a).
Denit ia este corect a deoarece b a implic a, folosind ipoteza Ker(f), ca bKer(f)a, adic a f(a) = f(b).
Egalitatea din enunt ; f
#
= f rezult a direct din denit ie.
Unicitatea rezult a din surjectivitatea funct iei de factorizare. Fie g : A/ B o funct ie cu propri-
etatea ; g = f. Rezulta ca pentru orice a A
g((a)) = f(a).
Prin urmare g((a)) = f
#
((a)) pentru orice a A. Deoarece orice element din A/ este de forma (a)
cu a A rezult a ca g = f
#
.
Proprietatea de universalitate a algebrei cat.
Fie (A
s
, A

) o -algebra si o congruent a. Denim operat iile algebrei cat


A/ = ({A
s
/}
sS
, A/

)
pentru orice s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si a
i
A
s
i
pentru orice 1 i n prin
A/

((a
1
), (a
2
), . . . , (a
n
)) = (A

(a
1
, a
2
, . . . , a
n
)).
Trebuie s a probam corectitudinea acestei denit ii. Cu notat iile de mai sus presupunem pentru orice
1 i n ca b
i
A
s
i
si (a
i
) = (b
i
). Cu aceste ipoteze este sucient s a probam ca (A

(a
1
, a
2
, . . . , a
n
)) =
(A

(b
1
, b
2
, . . . , b
n
)). Pentru orice 1 i n din (a
i
) = (b
i
) deducem a
i
b
i
. Deoarece este congruent a
deducem A

(a
1
, a
2
, . . . , a
n
) A

(b
1
, b
2
, . . . , b
n
), deci (A

(a
1
, a
2
, . . . , a
n
)) = (A

(b
1
, b
2
, . . . , b
n
)).
Teorema 1.6.7 Pentru orice morsm de -algebre f : A B dac a Ker(f), atunci exist a un unic
morsm de -algebre f
#
: A/ B cu proprietatea ; f
#
= f.
Demonstrat ie: Din proprietatea de universalitate a mult imii cat deducem existent a unei unice funct ii
f
#
: A/ B cu proprietatea ; f
#
= f. Observ am ca f
#
s
((a)) = f
s
(a) pentru orice s S si a A
s
.
Mai trebuie s a demonstram ca funct ia f
#
este un morsm de -algebre.
Fie s
1
s
2
. . . s
n
S

, s S,
s
1
s
2
...sn,s
si a
i
A
s
i
pentru orice 1 i n. Observ am ca
f
#
s
(A/

((a
1
), (a
2
), . . . , (a
n
))) = f
#
s
((A

(a
1
, a
2
, . . . , a
n
))) = f
s
(A

(a
1
, a
2
, . . . , a
n
)) =
B

(f
s
1
(a
1
), f
s
2
(a
2
), . . . , f
sn
(a
n
)) = B

(f
#
s
1
((a
1
)), f
#
s
2
((a
2
)), . . . , f
#
sn
((a
n
))).
Deci f
#
este morsm de -algebre.
S a se arate ca pentru orice -morsm h : A B algebrele A/Ker(h) si h(A) sunt izomorfe.
1.7. ALGEBRE PROIECTIVE 39
1.7 ALGEBRE PROIECTIVE
1.7.1 Proiectivitatea algebrelor libere
Denit ia 1.7.1 O -algebra P se numeste proiectiv a dac a pentru orice -morsm cu toate componentele
surjective e : A B si pentru orice morsm f : P B exista un morsm g : P A astfel nc at
g; e = f.
Propozit ie 1.7.2 Orice -algebr a liber a este proiectiv a.
Demonstrat ie: Fie X o mult ime S-sortat a de variabile. Vom proba ca -algebra T

(X) liber generat a


de X este proiectiva.
Fie A, B dou a -algebre si e : A B un morsm cu toate componentele surjective. Daca
f : T

(X) B este un morsm oarecare trebuie s a demonstram ca exista un morsm g : T

(X) A
astfel nc at g; e = f.
Pentru a deni morsmul g este sucient s a d am act iunea lui pe variabile.
Fie s S si x X
s
. Deoarece e
s
este surjectiv, deci exista a
x
A
s
astfel nc at f
s
(x) = e
s
(a
x
). Denim
g ca ind unicul morsm cu proprietatea ca g
s
(x) = a
x
pentru orice s S si orice x X
s
. Este evident
faptul ca (g; e)
s
(x) = f
s
(x) pentru orice s S si orice x X
s
. Deoarece morsmele g; e si f coincid pe
generatorii algebrei libere T

(X) rezult a ca g; e = f si demonstrat ia este ncheiat a.


Comentariu. Faptul ca g
s
(x) poate ales arbitrar n e
1
s
({f
s
(x)}) nu garanteaza unicitatea lui g.
1.7.2 Alte proprietat i
Cei care nu sunt interesat i de toate detaliile pot s ari aceast a sect iune, dar n continuare pot lua drept
denit ie pentru -algebre: epimorsm = morsm cu toate componentele surjective.
Intr-o categorie, un morsm e : A B se numeste epimorsm dac a pentru orice pereche de morsme
f : B C si g : B C dac a e; f = e; g, atunci f = g.
Propozit ie 1.7.3 Fie A si B dou a (S, )-algebre si h : A B un (S, )-morsm. Morsmul h este
epimorsm n Alg

dac a si numai dac a h


s
este surjectiv pentru orice s S.
Demonstrat ie: Fie A = ({A
s
}
sS
, {A

) si B = ({B
s
}
sS
, {B

).
() Fie C o (S, )-algebra si m, n : B C dou a morsme astfel nc at h; m = h; n. Rezulta ca h
s
; m
s
=
h
s
; n
s
pentru orice s S. Deoarece pentru orice s S, h
s
este surjectiv rezult a ca m
s
= n
s
. Am
demonstrat ca m = n.
() Fie C = {C
s
}
sS
o mult ime S-sortat a, cu C
s
= B
s
(B
s
h
s
(A
s
)) pentru orice s S. Simbolul
indic a o reuniune disjunct a de mult imi.
Fie : B C funct ia incluziune de mult imi S-sortate si r : B C denit prin
r
s
(b) =

b, dac a b h
s
(A
s
)
b dac a b B
s
h
s
(A
s
)
pentru orice s S si b B
s
(pentru b B
s
h
s
(A
s
) am notat cu b elementul care i corespunde n C
s
).

In continuare vom deni pe C o structura de (S, )-algebra astfel nc at si r s a devina morsme de


(S, )-algebre.
Fie
s1sn,s
. Denim:
1) C

(b1, . . . , bn) = B

(b1, . . . , bn) dac a bi B


si
pentru orice i [n];
2) C

(r
s1
(b1), . . . , r
sn
(bn)) = r
s
(B

(b1, . . . , bn)) dac a bi B


si
pentru orice i [n];
3) n celelalte situat ii operat ia C

poate denita oricum.


S a demonstram ca denit ia de mai sus nu este contradictorie.
40 CHAPTER 1. ALGEBRE MULTISORTATE
Fie b1 B
s1
, . . ., bn B
sn
astfel nc at r
si
(bi) = bi B
si
pentru orice i [n]. Atunci b
si
h
si
(A
si
) de
unde rezult a ca B

(b1, . . . , bn) h
s
(A
s
) si deci B

(b1, . . . , bn) = r
s
(B

(b1, . . . , bn)).
Din 1) rezult a ca este morsm iar din 2) rezult a ca r este morsm.
Am denit astfel o (S, )-algebr a C = ({C
s
}
sS
, {C

) si dou a morsme , r : B C. Se observ a


ca h = hr deoarece pe h(A) cele dou a morsme act ioneaz a la fel. Deoarece h este epimorsm rezult a ca
= r de unde obt inem B
s
= h
s
(A
s
) pentru orice s S (dac a exista s S astfel nc at B
s
h
s
(A
s
) =
atunci exista b B
s
h
s
(A
s
) si (b) = b, r(b) = b deci = r ceea ce contrazice faptul ca h este epimorsm).
Am demonstrat ca h
s
este surject ie pentru orice s S.
Aceasta propozit ie ne asigura ca algebrele proiective corespund conceptului categorial cu acelasi nume.
Lema 1.7.4 Orice subalgebr a a unei algebre libere este algebr a liber a.
Demonstrat ie:

Intr-o algebr a denim relat ia
a b dac a si numai dac a a = (. . . , b, . . . ).
Observ am ca n orice algebr a liber a relat ia este bine fondata, adic a nu exista siruri innite {a
n
}
nN
cu
proprietatea a
n
a
n+1
pentru orice n natural.
Fie P o subalgebra a unei algebre libere L. Relat ia este bine fondata si n subalgebra P.
Fie X mult imea tuturor elementelor din P care nu sunt rezultatul aplic arii vreunei operat ii din P unor
elemente din P. Prin urmare pentru orice s S
X
s
= {x P
s
|()(p
1
, p
2
, . . . , p
n
)x = P

(p
1
, p
2
, . . . , p
n
)}
Vom dovedi ca X, subalgebra generat a de X n P, este chiar P. Presupunem prin absurd ca exista
p
0
P X. Deoarece p
0
X el este rezultatul aplic arii cel put in al unei operat ii.

In plus cel put in unul
dintre argumentele acestei operat ii nu este din X deoarece n caz contrar obt inem contradict ia p
0
X.
Prin urmare exista p
1
P X astfel nc at p
0
p
1
. Continu and rat ionamentul prin induct ie ar rezulta ca
relat ia nu este bine fondata n P, o contradict ie.
Observ am ca P este algebr a Peano peste X. Chiar din denit ia lui X rezult a ca rezultatul aplic arii
unei operat ii din P unor elemente din P nu este n X. Ultima condit ie din denit ia algebrelor Peano este
adevarat a n P deoarece este adevarat a n L.
Deci P este liber generat a de X deoarece este Peano peste X.
Propozit ie 1.7.5 (Andrei Popescu) In Alg

orice algebr a proiectiv a este liber a.


Demonstrat ie: Fie P o algebr a proiectiva. Fie : T

(P) P unicul morsm a carui restrict ie la P


este 1
P
, identitatea lui P. Evident este epimorsm.
Deoarece P este o algebr a proiectiva exista un morsm g : P T

(P) cu proprietatea g; = 1
P
.
Obserev am ca g este o inject ie. Prin urmare algebra P este izomorfa cu subalgebra g(P) a lui T

(P).
Algebra g(P) este liber a deoarece este subalgebra a unei algebre libere.
Algebra P este liber a deoarece este izomorfa cu o algebr a liber a.
1.8 SPRE ABSTRACTIZAREA TIPURILOR DE DATE
1.8.1 Ecuat ii
S a analiz am conceptul de axioma asa cum apare el n algebr a. De exemplu comutativitatea si asociativitatea
se scriu
(xy)x?y = y?x (xyz)x?(y?z) = (x?y)?z.
1.8. SPRE ABSTRACTIZAREA TIPURILOR DE DATE 41
Ce sunt acestea? Sunt egalitat i de dou a expresii cuanticate universal prin mult imea variabilelor cont inute
n cele dou a expresii. Deci o astfel de axioma are forma
(X)l

= r
unde l si r sunt elemente din algebra liber generat a de mult imea X de variabile. Semnul

= este utilizat n
loc de =, ntre dou a expresii, pentru a marca faptul ca egalitatea poate si falsa, fapt pentru care vom
folosi denumirea de egalitate formala n loc de egalitate.

In cazul multisortat, cei doi membri ai unei
egalitat i formale trebuie s a e de acelas sort. Uneori scriem l

=
s
r pentru a marca sortul comun s al celor
doi membri.
Ce nseamna ca o axioma este adevarat a ntr-o algebr a D? Intuitiv este necesar ca rezultatul evalu arii
celor dou a expresii l si r n algebra D s a e acelasi indiferent de valorile date n D variabilelor din X.
T in and cont ca a da valori variabilelor din X n algebra D este echivalent cu a da un morsm de la T

(X)
la D, aceast a idee intuitiva conduce la:
Denit ia 1.8.1 Axioma (X)l

= r este satisfacut a n algebra D dac a si numai dac a pentru orice morsm
h : T

(X) D este adevarat a egalitatea h(l) = h(r).


Daca (X)l

= r este satisfacut a n algebra D, vom folosi notat ia
D |=

(X)l

= r
si mai spunem ca algebra D satisface (X)l

= r.

In continuare vom folosi pentru (X)l



= r termenul de ecuat ie n locul celui de axioma, pentru a ne
conforma cu terminologia internat ional a.

In plus vor intra n joc si asa zisele ecuat ii condit ionate. De exemplu
(xyz)(x y = x z y = z)
ceea ce corespunde axiomei de simplicare la st anga care este adevarat a n orice grup sau n orice monoid
liber.
1.8.2 Ecuat ii condit ionate

In logica ecuat ional a o axioma poate o implicat ie


a
1
= c
1
, a
2
= c
2
, . . . , a
n
= c
n
a = c
unde ipoteza este o conjunct ie de egalitat i formale si concluzia o egalitate formala. Toata implicat ia este
cuanticat a universal, fapt care nu apare scris mai sus.

In acest cadru o axioma, numit a n continuare si
ecuat ie condit ionat a a logicii ecuat ionale, poate scrisa sub forma
(X) a

=
s
c if H
unde a si c sunt elemente de acelasi sort s, iar H este o mult ime nita de egalitat i formale din algebra
liber generat a de mult imea X de variabile. Ipoteza implicat iei este dat a de mult imea H.
Pentru a verica dac a o algebr a D satisface axioma de mai sus se dau valori arbitrare variabilelor din X
n D fapt ce poate facut printr-o funct ie arbitrara f : X D sau echivalent printr-un morsm arbitrar
h : T

(X) D. Apoi se evalueaz a expresiile din H pentru a se verica dac a rezultatul evaluarii conduce
la egalitat i adevarate, caz n care trebuie ca h
s
(a) = h
s
(c). Deci -algebra D satisface ecuat ia condit ionat a
(X)a

=
s
c if H fapt notat prin
D|=

(X) a

=
s
c if H
42 CHAPTER 1. ALGEBRE MULTISORTATE
dac a si numai dac a
(h : T

(X) D) (u

=
t
v H)h
t
(u) = h
t
(v) implic a h
s
(a) = h
s
(c).
Credem ca este bine s a ment ion am din nou diferent a esent iala ntre semnele

=
s
si =, diferent a care va
ment inut a constant pe parcursul ntregului text. Egalul peste care s-a pus un cerculet (

=
s
) indic a o
egalitate formala care poate adevarat a sau falsa. Egalul = are semnicat ia uzual a indic and deobicei o
egalitate adevarat a.
1.8.3 Necesitatea utilizarii cuanticatorilor n ecuat ii
Vom ilustra printr-un exemplu necesitatea utiliz arii cuanticatorilor n ecuat iile logicii ecuat ionale multi-
sortate.
Fie signatura S = {a, bool} si = {g, F, T}. Rangurile simbolurilor de operat ii sunt date prin desenul
urmator :
a bool

g F
T
unde se vede ca sortul rezultat al celor trei simboluri de operat ie g, F si T este bool; operat iile F si T nu
au argumente si g are un singur argument de sort a.
Vom lucra cu dou a algebre.
algebra init iala este I = (, {F, T}; I
g
, I
F
, I
T
) unde F = T; I
F
= F, I
T
= T si I
g
: {F, T} este
funct ia incluziune.
Pentru orice variabil a x de sort a, -algebra liber generat a de aceast a variabil a T

({x}, ) are suporturile


{x} pentru sortul a si {g(x),F,T} pentru sortul bool.
Are loc relat ia I |=

F

= T ? Sau mai intuitiv: este egalitatea formala F

= T adevarat a n algebra I?
Vom ar ata ca raspunsul depinde de algebra liber a n care este scrisa egalitatea.
Sunt posibile cel put in dou a variante.
1. I |=

()T

= F dac a si numai dac a pentru orice morsm h : I I, h
bool
(F) = h
bool
(T),
ceea ce este fals deoarece h
bool
(F) = F = T = h
bool
(T).
2. I |=

(x)T

= F dac a si numai dac a pentru orice morsm h : T

({x}, ) I, h
bool
(F) = h
bool
(T),
ceea ce este adevarat deoarece nu exista nici un morsm h : T

({x}, ) I.
Am ar atat ca I |=

()T

= F este falsa si ca I |=

(x)T

= F este adevarat a. Daca omitem
cuanticatorii obt inem: I |=

T

= F este falsa si I |=

T

= F este adevarat a.
Contradict ia obt inut a prin omiterea cuanticatorilor din fat a egalitat ii formale F

= T arat a can logica
ecuat ional a multisortata prezent a cuanticatorilor n ecuat ii este necesara.
In multe cazuri, de exemplun limbajele de programare PROLOG, OBJ, Maude, CafeOBJ, etc cuanti-
catorii din fat a ecuat iilor sunt omisi dar se presupune implicit ca ecuat iile sunt cuanticate prin mult imea
variabilelor care apar n ecuat ie. Egalitatea formala T

= F este implicit interpretata ()T

= F.
1.8.4 In primul rand semantica
Pentru orice algebr a D = (D
s
, D

) not am cu
Sen(D) = {a

=
s
c | s S, a, c D
s
}
mult imea propozit iilor sale. Propozit iile sunt de fapt egalitat i formale care pot adevarate sau false.
S a observ am ca Sen(D) se poate identica cu produsul cartezian D D. Poate cea mai buna
reprezentare a unei propozit ii din D este un triplet format dintr-un sort s si dou a elemente de sort s
din D.
Av and n vedere cele de mai sus nu vom mai face nici o distinct ie ntre relat iile lui D si mult imile de
egalitat i formale ntre elementele lui D.
1.8. SPRE ABSTRACTIZAREA TIPURILOR DE DATE 43
Denit ia 1.8.2 O ecuat ie condit ionat a este
(X)l

=
s
r if H
unde X este o mult ime S-sortata de variabile, l si r sunt dou a elemente de sort s din T

(X) iar H o
mult ime nita de egalitat i formale din T

(X).
O ecuat ie condit ionat a n care H = devine necondit ionat a si este numit a pe scurt ecuat ie.

In acest caz
scriem doar (X)l

=
s
r n loc de (X)l

=
s
r if .
Denit ia 1.8.3 Algebra D satisface ecuat ia condit ionat a (X)l

=
s
r if H, fapt notat prin
D |=

(X)l

=
s
r if H
dac a pentru orice morsm h : T

(X) D pentru care h


s
(u) = h
s
(v) pentru orice u

=
s
v H, are loc
egalitatea h
s
(l) = h
s
(r).

In cele ce urmeaza indicele din |=

va omis. El va ment ionat atunci cand este pericol de confuzie.


Observ am ca D |= (X)l

=
s
r dac a si numai dac a h
s
(l) = h
s
(r) pentru orice morsm h : T

(X) D.

In continuare xam o mult ime de ecuat ii condit ionate, numite axiome.


Denit ia 1.8.4 Spunem ca algebra D satisface sau ca D este o -algebr a si scriem D |= dac a D
satisface toate ecuat iile condit ionate din .
Un morsm de -algebrentre dou a -algebre se numeste morsm de -algebre sau mai scurt -morsm.

1.8.5 Punctul de vedere local


Fix am o algebr a A si lucr am cu propozit ii din Sen(A). Acesta este punctul local de vedere al logicii
ecuat ionale. Cazul n care ne intereseaz a propozit ii din algebre diferite este numit global dar va put in
folosit n acest a carte.

In cazul global o propozit ie din D va scrisa (D)a

=
s
c n loc de a

=
s
c.
Notat ia far a cuanticatori folosita n cazul local nu contrazice ceea ce am scris despre necesitatea utiliz arii
cuanticatorilor n ecuat ii. Pur si simplu nu scriem cuanticatorul pentru ca xand algebra A el va
mereu acelasi (A) si deci l stim chiar dac a nu-l vedem scris.
O alta idee pe care dorim s a o subliniem este folosirea unei algebre arbitrare A n locul unei algebre
libere. Principalele rezultate privind rescrierile, care se refera atat la rescrierile de termeni cat si la rescrierile
modulo ecuat ii, r am an valabile n acest cadru mai general. Aceasta prezentare unitara a diverselor tipuri
de rescriere este de fapt contribut ia autorului la modernizarea lect iilor despre rescriere. Exist a n lume trei
cart i privind rescrieriile [1, 16, 17]. Nici una nu prezinta stilul local.
Ment ion am ca algebra A nu are legatur a cu algebra T

(X) folosita n vreo axioma (X)l



=
s
r if H
din . Ment ion am si faptul ca n axiome diferite putem folosi algebre libere diferite. Aceasta corespunde
cazului practic, de exemplu scriem comutativitatea xy = yx ntr-o algebr a liber a cu doi generatori x si y
iar asociativitatea (xy)z = x(yz) ntr-o algebr a liber a cu trei generatori x, y si z.
1.8.6 Congruent a semantica
Privind ca o mult ime de axiome, ne intereseaz a toate consecint ele ei semantice. Prin consecint a seman-
tica se nt elege orice fapt adevarat n orice algebra. Logica ecuat ional a este interesat a de consecint ele
semantice care sunt scrise ca egalitat i formale.
Prin urmare ecuat ia (X)l

=
s
r este o consecint a semantica a lui , denumit a si tautologie sau
propozit ie valabil a sau valid a a logicii ecuat ionale, dac a ea este adevarat a n orice algebra, adic a
h
s
(l) = h
s
(r) pentru orice algebra M si pentru orice morsm h : T

(X) M.
44 CHAPTER 1. ALGEBRE MULTISORTATE
Pentru locarizare xam algebra T

(X) si pentru generalizare o nlocuim cu o algebra arbitrara A.


Prin urmare vom lucra ntr-o -algebra A si vom grupa ntr-o relat ie toate tautologiile(propozit iile
valide) logicii ecuat ionale din algebra A.
Fie
A

relat ia pe A denita prin


a
A

c dac a si numai dac a (h : A M |= )h


s
(a) = h
s
(c).
Daca nu exista pericol de confuzie vom prefera s a scriem

n loc de
A

.
Observ am ca

{Ker(h) | h : A M |= }.
Deoarece nucleul unui morsm este o relat ie de congruent a si deoarece orice intersect ie de relat ii de
congruent e este o relat ie de congruent a, deducem ca

este o relat ie de congruent a.

este numit a congruent a semantica.


Denim regula de deduct ie a substitut iei utilizat a atat n logica ecuat ional a cat si n rescrierea ter-
menilor.
Sub

Pentru orice (X) l



=
s
r if H si orice morsm h : T

(X) A
(u

=
t
v H)h
t
(u)

=
t
h
t
(v) implic a h
s
(l)

=
s
h
s
(r).
Denit ia 1.8.5 O submult ime M a lui Sen(A) se numeste nchisa la substitut ie sau nchis a la Sub

dac a pentru orice (X)l



=
s
r if H n si orice h : T

(X) A
(u

=
t
v H)h
t
(u)

=
t
h
t
(v) M implic a h
s
(l)

=
s
h
s
(r) M.
Observ am ca intersect ia unor mult imi nchise la substitut ie este tot o mult ime nchis a la substitut ie.
Lema 1.8.6 Pentru orice morsm f : A M |= , Ker(f) este nchis la Sub

.
Demonstrat ie: Fie (X)l

=
s
r if Hn si h : T

(X) Aun morsm cu proprietatea ca h


t
(u) Ker(f) h
t
(v)
pentru orice u

=
t
v H. Prin urmare (h; f)
t
(u) = (h; f)
t
(v) pentru orice u

= v H. Deoarece
h; f : T

(X) M |= (X)l

=
s
r if H rezult a ca (h; f)
s
(l) = (h; f)
s
(r), deci h
s
(l) Ker(f) h
s
(r).
Propozit ie 1.8.7 Congruent a semantic a este nchis a la substitut ie.
Demonstrat ie: Congruent a semantica este o intersect ie de congruent e nchise la substitut ie. Deoarece
o intersect ie de congruent e nchise la substitut ii este o congruent a nchis a la substitut ii rezult a ca

este
o congruent a nchis a la substitut ie.
Propozit ie 1.8.8 Dac a este o congruent a nchis a la substitut ii, atunci A/ |= .
Demonstrat ie: Notam cu : A A/ morsmul de factorizare canonic.
Fie (X)l

=
s
r if H n . Fie h : T

(X) A/ un morsm astfel nc at h


t
(u) = h
t
(v) pentru orice
u

=
t
v H. Deoarece orice algebr a liber a este proiectiva rezulta ca T

(X) este algebr a proiectiva, prin


urmare exista un morsm f : T

(X) A astfel nc at f; = h. Pentru orice u



=
t
v H deoarece

t
(f
t
(u)) =
t
(f
t
(v)) deducem f
t
(u) f
t
(v).
Deoarece este o congruent a nchis a la substitut ii obt inem f
s
(l) f
s
(r). Prin urmare
s
(f
s
(l)) =

s
(f
s
(r)), de unde h
s
(l) = h
s
(r).
Aratat i ca

este cea mai mic a congruent a nchis a la substitut ie.


Fie A

factorizarea lui A prin congruent a

si e : A A

morsmul cat.
1.9. TIPURI ABSTRACTE DE DATE 45
Teorema 1.8.9 A

|=
Demonstrat ie: Se aplic a propozit iile 1.8.7 si 1.8.8.
Teorema 1.8.10 Pentru orice -algebr a B si pentru orice morsm h : A B exist a si este unic un
morsm h
#
: A

B astfel nc at ; h
#
= h.
Demonstrat ie: Este sucient s a ar atam ca a

c implic a h(a) = h(c) si s a aplic am proprietatea de


universalitate a algebrei cat.

Intr-adevar a

c implic a h(a) = h(c) deoarece h : A B |= .


Corolar 1.8.11 Dac a A este -algebr a init ial a, atunci A

este -algebr a init ial a.


Corolar 1.8.12 Pentru orice signatur a si pentru orice mult ime de ecuat ii condit ionate exist a o
-algebr a init ial a.
Demonstrat ie: Se foloseste existent a algebrei initiale si corolarul precedent.
1.8.7 Problema programarii prin rescriere
Principala problem a este : poate o masin a s a demonstreze c a a

c?.
Se stie ca n unele cazuri rescrierile ne dau o solut ie.
1.9 TIPURI ABSTRACTE de DATE
Am vazut n lect iile precedente ca orice signatura determina prin algebra sa init iala un tip abstract de
date. Tipul abstract de date al numerelor naturale a fost determinat de signatura formata din constanta
0 si operat ia unara cunoscuta sub numele de succesor.
Acum am pus n evident a un instrument mai puternic deoarece orice signatura mpreuna cu o mult ime
de ecuat ii condit ionate determina prin -algebra init iala, a carei existent a am dovedit-o mai sus, un tip
abstract de date.
1.9.1 Tipul abstract al numerelor naturale - continuare
Consideram signatura cu un singur sort nat, o singura constanta de sort nat si o singura operat ie unara cu
argument si rezultat de sort nat:
sort nat .
op 0 : nat .
op s : nat nat .
Elementele algebrei init iale sunt
0, s(0), s(s(0)), s(s(s(0))), s(s(s(s(0)))), ...
si ele reprezinta numerele naturale 0 1 2 3 4 ...
Propozit ie 1.9.1 Algebra (N, 0
N
, s
N
) denit a prin: N este mult imea numerelor naturale, 0
N
este num arul
natural zero si s
N
(n) = n + 1 pentru orice num ar natural n; este init ial a. (vezi si propozit ia 1.2.7)
Propozit ia anterioar a ne arat a cum pot denite numerele naturale prim metoda algebrei init iale ca
tip abstract de date.
Deocamdat a prin signatura de mai sus calculatorul nvat a numerele naturale dar nu stie nc a s a cal-
culeze. S a-l nvat am deocamdat a s a adune si s a nmult easc a.
Adunarea poate introdusa prin declarat ia
46 CHAPTER 1. ALGEBRE MULTISORTATE
op + : nat nat nat .
dar aceasta, singura, nu face dec at s a strice ceea ce am construit deja, deoarece de exemplu calculatorul
interpreteaza 0 + 0, deoarece nu stie s a adune ca un nou element diferit de 0, ceea ce evident nu dorim.
La cele de mai sus ad aug am prea cunoscutele axiome ale lui Peano.
op + : nat nat nat .
var X Y : nat .
eq X + 0 = 0 .
eq X + s(Y) = s(X+Y) .
op * : nat nat nat .
eq X * 0 = 0 .
eq X * s(Y) = (X*Y) + X .
Parantezele din ultimul r and sunt puse pentru ca masina s a nt eleaga ca nmult irea se efectueaza
inaintea adunarii. Exist a metode mai eciente care fac masina s a nt eleaga acest fapt, dar acesta nu este
scopul prezentului text.

In demonstrat ia de mai jos nu mai punem aceste paranteze deoarece textul nu se
mai adreseaza calculatorului.
Trebuie s a ment ion am ca egalitat iile de mai sus sunt folosite n dou a moduri:
a) ca ecuat ii care mpreuna cu signatura de patru operat ii formeaza o mult ime pentru a deni o
structura algebric a si
b) ca reguli de rescriere n timpul execut iei programelor, adic a se aplic a numai de la st anga la dreapta.
Propozit ie 1.9.2 Algebra N = (N, 0
N
, s
N
, +
N
,
N
) este -algebr a init ial a.
Demonstrat ie: Fie A = (A, O
A
, s
A
, +
A
,
A
) o -algebra. Ment ion am ca algebra A satisfac ecuat iile din
, adic a
1) a +
A
0
A
= a pentru orice a din A,
2) a +
A
s
A
(b) = s
A
(a +b) pentru orice a, b din A,
3) a
A
0
A
= 0
A
pentru orice a din A,
4) a
A
s
A
(b) = a
A
b +
A
a pentru orice a, b din A.
Vom proba ca exista un unic morsm de -algebre de la N la A.
S a ncepem cu unicitatea. Daca h : N A este un -morsm, atunci h : (N, 0
N
, s
N
) (A, 0
A
, s
A
)
este morsm prin urmare coincide cu unicul morsm dat de propozit ia de mai sus.
Pentru a demonstra existent a nu avem dec at o singura sansa si anume s a dovedim ca unicul morsm
h : (N, 0
N
, s
N
) (A, 0
A
, s
A
) este si morsm de -algebre. Reamintim ca
h(0
N
) = 0
A
si pentru orice n num ar natural h(n + 1) = s
A
(h(n)).
Probam ca h(n +
N
m) = h(n) +
A
h(m) prin induct ie dupa m
h(n +
N
0
N
) = h(n) = h(n) +
A
0
A
= h(n) +
A
h(0
N
) si
h(n +
N
(m + 1)) = h(s
N
(n +
N
m)) = s
A
(h(n +
N
m)) = s
A
(h(n) +
A
h(m)) = h(n) +
A
s
A
(h(m)) =
h(n) +
A
h(m + 1).
Probam ca h(n
N
m) = h(n)
A
h(m) prin induct ie dupa m
h(n
N
0
N
) = h(0
N
) = 0
A
= h(n)
A
0
A
= h(n)
A
h(0
N
) si
h(n
N
(m+1)) = h(n
N
m+
N
n) = h(n
N
m)+
A
h(n) = (h(n)
A
h(m))+
A
h(n) = h(n)
A
s
A
(h(m)) =
h(n)
A
h(m+ 1).
1.9. TIPURI ABSTRACTE DE DATE 47
Propozit ia anterioar a demonstreaza corectitudinea denit iei de mai sus. Deoarece algebra N este
init iala rezult a ca ea este izomorfa cu -algebra init iala, deci specicat ia de mai sus caracterizeaz a, prin
-algebra sa init iala, tipul de date al numerelor naturale.
Cred ca este util s a ment ion am aici ca dat un tip de date nu este sucient s a gasim o structura algebric a
care s a-l deneasca ca tip abstract de date. De exemplu stim din algebr a ca numerele naturale formeaza un
semiinel init ial. Caracterizarea numerelor naturale ca semiinel init ial nu ne mult umeste deoarece axiomele
conceptului de semiinel nu ne dau un program(calculatorul este incapabil s a faca operat ii cu numerele
naturale folosind numai axiomele semiinelului). Axiomele lui Peano dau un program n programarea prin
rescriere.
48 CHAPTER 1. ALGEBRE MULTISORTATE
Chapter 2
RESCRIERI
2.1 TEORII DEDUCTIVE
`
A la MOISIL
Fie E o mult ime de propozit ii. O regul a de deduct ie pe E este o pereche (H, e) unde H este o submult ime
nit a a lui E (si se numeste ipoteza regulii) si e E (si se numeste concluzia regulii ). Poate mai sugestiv
o regul a (H, e) ar trebuit scrisa H e deoarece semnicat ia ei este propozit ia e este o consecint a a
propozit iilor din H. Mai ment ion am ca n cazul particular H = regula (, e) spune ca e este o axioma.
O submult ime D a lui E se numeste nchisa la regula (H, e) dac a H D implic a e D. In acest caz
se mai spune ca regula (H, e) este corect a pentru D deoarece regula nu ne scoate din D.
Fie R o mult ime de reguli de deduct ie. O submult ime D a lui E se numeste inchis a la R dac a si numai
dac a D este inchis a la orice regul a din R.
Denit ia nchiderii la substitut ie, dat a n sect iunea 1.8.6, este un caz particular al denit iei de mai sus.
Observat ia 2.1.1 Dac a D
i
E este inchis a la R pentru ecare i I, atunci

iI
D
i
este nchis a la R.
Demonstrat ie: Fie (H, e) R astfel nc at H

iI
D
i
. Pentru orice i I, deoarece D
i
este inchis a la
R si H D
i
deducem e D
i
. Deci e

iI
D
i
.
Prin denit ie [n] = {1, 2, . . . , n} pentru orice num ar natural n.
O propozit ie e E poate demonstrata folosind R dac a si numai dac a exista o secvent a nit a de
propozit ii e
1
e
2
. . . e
n
astfel nc at e
n
= e si pentru orice i [n], exista (H, e
i
) R astfel nc at H
{e
1
, e
2
, . . . , e
i1
}. Vom spune ca e
1
e
2
. . . e
n
este o demonstrat ie pentru e
n
= e.
Observat ia 2.1.2 Dac a si sunt demonstrat ii atunci este demonstrat ie.
Notam cu Teor(R) mult imea propozit iilor care pot demonstrate folosind R.
Lema 2.1.3 Fie D E. Dac a D este inchis a la R atunci Teor(R) D.
Demonstrat ie: Fie e Teor(R). Prin urmare exista o secvent a nit a de propozit ii e
1
e
2
. . . e
n
astfel
nc at e
n
= e si pentru oricare i din [n] exista (H, e
i
) R astfel nc at H {e
1
, e
2
, . . . , e
i1
}.
Probam prin induct ie ca e
i
D pentru orice i din [n]. Ipoteza de induct ie este (k < i) e
k
D.
Deoarece sirul e
1
e
2
. . . e
n
este o demonstrat ie exista (H, e
i
) R cu H {e
1
, e
2
, . . . , e
i1
}. Din ipoteza de
induct ie deducem H D. Deoarece D este nchis a la R rezult a ca e
i
D.

In particular pentru i = n deducem e D.


Dar e a fost luat a arbitrar n Teor(R), deci Teor(R) D.
Aceasta lem a ne furnizeaz a o metod a prin care putem ar ata ca toate propozit iile demonstrabile folosind
R au o anumit a proprietate si anume este sucient s a ar at am ca mult imea propozit iilor cu proprietatea
dat a este nchis a la R.
49
50 CHAPTER 2. RESCRIERI
Teorema 2.1.4 Teor(R) este cea mai mic a mult ime(n raport cu ) care este nchis a la R.
Demonstrat ie: Demonstram ca Teor(R) este nchis a la R.

In acest scop presupunem (H, e) R,
unde H = {f
1
, . . . , f
n
} si H Teor(R). Pentru orice i [n] din f
i
Teor(R) deducem existent a
unei demonstrat ii
i
f
i
unde
i
este un sir de propozit ii din E. Atunci
1
f
1
. . .
n
f
n
este o demonstrat ie
deoarece este o concatenare de demonstrat ii si pentru ca ({f
1
, . . . , f
n
}, e) R deducem ca
1
f
1
. . .
n
f
n
e
este o demonstrat ie pentru e. Deci e Teor(R). Rezulta ca Teor(R) este nchis a la R. Din lema 2.1.3
rezult a ca Teor(R) este cea mai mic a n sensul incluziunii care este nchis a la R.
Observat ia 2.1.1 ne spune ca mult imilenchise la R formeaza, conform propozit iei 1.3.8, o familie Moore.
Pentru a pune n evident a operatorul de nchidere asociat trebuie s a ne referim la demonstrat ii din ipoteze.
Mai precis pentru X D ad aug am elementele lui X ca axiome X

= {(, e) : e X}.

Inchiderea lui X
este Teor(R X

).
2.2 LOGIC

A ECUATIONALA
Fie o mult ime de ecuat ii condit ionale si o -algebra A xata.
Mult imea propozit iilor adevarate, tautologiile, din A este chiar congruent a semantica

= {a

=
s
b Sen(A) : (M |= )(f : A M)f
s
(a) = f
s
(b)}.
Conform tradit iei mai scriem
|= a

=
s
b dac a si numai dac a a

b
Se caut a o mult ime corect a si complet a de reguli de deduct ie pentru
A

.
2.2.1 Reguli de deduct ie, corectitudine
Notam cu R
E
mult imea urmatoarelor reguli de deduct ie pentru logica ecuat ional a multisortata:
R a

=
s
a
S a

=
s
b implic a b

=
s
a
T a

=
s
b si b

=
s
c implic a a

=
s
c
C Pentru orice
s
1
s
2
...sn,s
:
a
i

=
s
i
b
i
pentru 1 i n implic a A

(a
1
, a
2
, . . . , a
n
)

=
s
A

(b
1
, b
2
, . . . , b
n
).
Sub

Pentru orice (X) l



=
s
r if H si pentru orice h : T

(X) A
h
t
(u)

=
t
h
t
(v) pentru orice u

=
t
v H implic a h
s
(l)

=
s
h
s
(r)
Conform tradit iei not am prin a

=
s
b faptul ca egalitatea formala a

=
s
b este demonstrabil a cu regulile
de mai sus.
Observat ia 2.2.1 Observ am c a o mult ime de egalit at i formale este nchis a la regula R dac a si numai
dac a este o relat ie reexiv a.
Din aceast a cauz a R este numit a regula reexivitat ii.
Observat ia 2.2.2 Observ am c a o mult ime de egalit at i formale este nchis a la regula S dac a si numai dac a
este o relat ie simetric a.
Din aceast a cauz a S este numit a regula simetriei.
Observat ia 2.2.3 Observ am c a o mult ime de egalit at i formale este nchis a la regula T dac a si numai
dac a este o relat ie tranzitiv a.
Din aceast a cauz a T este numit a regula tranzitivitat ii.
2.2. LOGIC

A ECUAT IONALA 51
Observat ia 2.2.4 Observ am c a o mult ime de egalit at i formale este nchis a la regula C dac a si numai
dac a este o relat ie compatibil a cu toate operat iile algebrei A.
Din aceast a cauz a C este numit a regula compatibilitat ii cu operat iile din .
Teorema 2.2.5 Regulile de deduct ie R
E
sunt corecte pentru

.
Demonstrat ie: Deoarece

este congruent a rezult a ea este nchis a la primele patru reguli, prin urmare
ele sunt corecte pentru

. Corectitudinea ultimei reguli rezult a din nchiderea congruent ei semantice la


substitut ii n conformitate cu propozit ia 1.8.7.
Corolar 2.2.6 a

=
s
b implic a |= a

=
s
b.
Demonstrat ie: Congruent a semantica, adic a mult imea egalitat ilor formale cu proprietatea |= a

=
s
b,
este nchis a la R
E
conform teoremei 2.2.5
Mult imea egalitat ilor formale demonstrabile, adic a mult imea egalitat ilor formale cu proprietatea
a

=
s
b, este cea mai mic a mult ime nchis a la R
E
conform teoremei 2.1.4.
Prin urmare mult imea egalitat ilor formale cu proprietatea a

=
s
b este inclusa n mult imea egalitat ilor
formale cu proprietatea |= a

=
s
b, de unde rezult a concluzia.
2.2.2 Completitudine
Pentru orice s S si a, b A
s
se deneste relatia

in A prin:
a

b a

=
s
b.
Deoarece regulile R, S si T sunt n R
E
deducem ca

este nchis a la R, S si T deci este o echivalent a.


Mai mult, deoarece C este n R
E
rezult a ca

este nchis a la C deci este congruent a.


Fie A

catul lui A prin

si e
A
: A A

-morsmul canonic de factorizare.


Observat ia 2.2.7 A

|=
Demonstrat ie: Deoarece Sub

este n R
E
rezult a ca

este nchis a la substitut ii prin urmare aplic and


propozit ia 1.8.8 rezult a concluzia.
Teorema 2.2.8 Teorem a de completitudine: |= a

=
s
b implic a a

=
s
b.
Demonstrat ie: Fie |= a

=
s
b. Din denit ia tautologiilor deducem (h : A B|=) h
s
(a) = h
s
(b).

Intruc at A

|= si
A
: A A

este -morsm rezult a ca


A
(a) =
A
(b). Prin urmare a

b, deci
a

=
s
b.

In concluzie congruent a

si congruent a semantica

coincid. Prin urmare algebra A

si morsmul

A
coincid cu cele introduse ntr-un mod numai aparent diferit n sect iunea 1.8, teoremele 1.8.9 si 1.8.10.
Proprietatea de universalitate a algebrei A

demonstrata atunci, teorema 1.8.10, r am ane adevarat a si


n noul context.
Urmatorul pas dupa o teorem a de completitudine care ne asigur u a existent a unei demonstrat ii pentru
orice tautologie este de a gasi aceste demonstrat ii. Informaticienii sunt ceva mai pretent iosi deoarece doresc
ca aceste demonstrat ii s a e gasite de un calculator. Pentru acest scop rescrierea este foarte util a.
52 CHAPTER 2. RESCRIERI
2.3 RESCRIERE LOCAL

A
Rescrierile sunt un fapt pe care-l ntalnim din primii ani de scoal a. De exemplu n sirul de egalitat i
2 (3 + 4) = 2 7 = 14
facem dou a rescrieri(nlocuiri): 3+4 esre rescris n 7 si apoi 2 7 este rescris n 14. Aceste rescrieri sunt
permise de regulile adunarii si nmult irii. Partea expresiei care r am ane neschimbat a deoarece rescrierea
are loc n interiorul ei se numeste context. La prima rescriere contextul este 2 , unde este un semn
special care arat a locul n care se face rescrierea. Deoarece a doua rescriere se face la varf contextul este .
De obicei rescrierile se fac de la expresii mai complicate spre expresii mai simple. Rescrierea lui 3+4
n 7 este ceva resc, pe cand rescrierea lui 7 n 3+4 este ceva articial. Dece 3+4 si nu 2+5? Prin urmare
spre deosebire de egalitate care este simetrica, rescrierea nu este simetrica.
Deoarece se doreste ca rescrierile s a e facute de calculator, practica programarii ne d a un argument
foarte puternic mpotriva simetriei. Simetria este o regula care conduce la neterminarea programelor,
deoarece dupa ce am rescris a n b putem rescrie pe b n a, pe a n b si asa mai departe.
Eliminarea simetriei dintre regulile de deduct ie este principala diferent a dintre calculul cu egalitat i
reectat de logica ecuat ional a. Deoarece eliminarea simetriei duce la pierderea completitudinii, simetria
va trebui nlocuit a cu altceva pentru a reobt ine completitudinea.
2.3.1 Preliminarii
Signatura , mult imea de axiome si algebra An care se fac rescrierile(localizare) sunt xate.
Fie X o mult ime Ssortat a de variabile si T

(X) algebra liber generat a de X. Pentru orice x X si


T

(X), vom nota cu


nr
x
() num arul de aparit ii ale lui x n .
Observ am ca nr
x
(x) = 1, nr
x
(y) = 0 pentru orice y X {x} si
nr
x
((e
1
, e
2
, . . . , e
k
)) = nr
x
(e
1
) +nr
x
(e
2
) +. . . nr
x
(e
k
).
Fie A o algebra, o variabil a de sort s, / A
s
. Consideram algebra liber generat a de A {}, si
anume T

(A {}). Vom presupune far a a micsora generalitatea ca


T

(A) T

(A {}).
Un element c din T

(A {}) se numeste context dac a nr

(c) = 1. Daca c = (c
1
, c
2
, . . . , c
n
) este un
context, atunci exista un 1 i n astfel nc at c
i
este context si c
j
T

(A) pentru orice j = i.


Pentru d A
s
, vom nota cu d : T

(A {}) A unicul morsm de algebre cu proprietatea


( d)() = d si ( d)(a) = a pentru orice a A. Ment ion am ca restrict ia lui d la T

(A) este un
morsm care evalueaz a n A o expresie n care elementele din A erau considerate variabile.
Pentru orice t din T

(A {}) si a A
s
, vom prefera s a scriem
t[a]
n loc de ( a)(t), deoarece ( a)(t) este de fapt rezultatul nlocuirii lui prin a n t si al evalarii n
A al expresiei obt inute n T

(A).
Daca n t nu apare , adic a t este din -algebra liber generat a de A, atunci t[a] = t[d] pentru orice
a, d A
s
, deoarece ambele sunt egale cu evaluarea n A a lui t. Egalitatea poate demonstrata printr-o
simpla induct ie structurala.
Compunerea relat iilor R AB si Q B C este relat ia R; Q A C denita prin
R; Q = {(a, c) | (b B)(a, b) R si (b, c) Q}.
2.3. RESCRIERE LOCAL

A 53
Compunerea relat iilor este asociativa.
Relat iilentre elementele aceleeasi mult imi A, adic a p art ile lui AA, formeaza cu operat ia de compunere
un monoid al carui element neutru este relat ia de egalitate. Pentru astfel de relat ii sunt denite puterile
lor naturale. Prin denit ie R
0
este chiar relat ia de egalitate. Prin denit ie
R

n0
R
n
este nchiderea reexiva si tranzitiva a relat iei R, adic a R

este cea mai mic a relat ie reexiva si tranzitiva


care include R. Ment ion am ca * este operator de nchidere n mult imea p art ilor lui A A.
Pentru o relat ie notat a n loc de notat ia

se prefer a notat ia

.
2.3.2

Inchiderea la contexte
Denit ia 2.3.1 O relat ie Q pe A se numet e nchisa la contexte dac a pentru orice context c si pentru
orice pereche de elemente a, d din A
s
, a Qd implic a c[a] Qc[d].
Observ am ca relat ia de egalitate este nchis a la contexte.
Lema 2.3.2 Compunerea relat iilor nchise la contexte este nchis a la contexte.
Demonstrat ie: Presupunem ca relat iile Q si R sunt nchise la contexte. Fie c un context.
Presupunem a Q; Rb. Prin urmare exista d astfel nc at a Qd si d Rb. Deoarece Q si R sunt nchise la
contexte deducem c[a] Qc[d] si c[d] Rc[b], prin urmare c[a] Q; Rc[b].
Propozit ie 2.3.3 Dac a relat ia R este nchis a la contexte, atunci nchiderea ei reexiv a si tranzitiv a R

este nchis a la contexte.


Demonstrat ie: Presupunem ca R este nchis a la contexte. Folosind observat ia si lema de mai sus
deducem ca pentru orice n natural relat ia R
n
este nchis a la contexte.
Fie c un context si a R

b. Prin urmare exista n natural cu proprietatea a R


n
b. Deducem ca c[a] R
n
c[b],
deci c[a] R

c[b].
Introducem regula de deduct ie
CA a

=
s
i
d implic a A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
)

=
s
A

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
)
(
s
1
...sn,s
), orice 1 i n, unde a
j
A
s
j
pentru orice j {1, . . . , i 1, i + 1, . . . , n}
si a, d A
s
i
.
Denit ia 2.3.4 O relat ie AA se numeste compatibila pe argumente cu operat iile algebrei A
dac a este nchis a la CA.
Propozit ie 2.3.5 O relat ie este nchis a la contexte dac a si numai dac a este compatibil a pe argumente cu
operat iile algebrei.
Demonstrat ie: Presupunem Qnchis a la contexte. Pentru a demonstra compatibilitatea pe argumente
cu operat ia aplic am ipoteza pentru contextul c = (a
1
, . . . , a
i1
, , a
i+1
, . . . , a
n
). Presupunem (a, d) Q
si deducem din nchiderea la contexte ca (c[a], c[d]) Q. Observ am ca
c[a] = ( a)(c) = ( a)((a
1
, . . . , a
i1
, , a
i+1
, . . . , a
n
)) = A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
).
Analog c[d] = A

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
), prin urmare
A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
)

= A

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
) este n Q.
54 CHAPTER 2. RESCRIERI
Reciproca se arat a prin induct ie structurala n T

(A {}).
Pasul 0: c = . Pentru orice (a, d) Q, c[a] = a, c[d] = d, deci (c[a], c[d]) Q.
Pentru un context c = (a
1
, . . . , a
i1
, c

, a
i+1
, . . . , a
n
) unde c

(A {}) este un context si


a
i
T

(A)
c[a] = ( a)(c) = A

(a
1
[a], . . . , a
i1
[a], c

[a], a
i+1
[a], . . . , a
n
[a]).
La fel c[d] = A

(a
1
[d], . . . , a
i1
[d], c

[d], a
i+1
[d], . . . , a
n
[d]). Mai observ am ca a
j
[a] = a
j
[d] pentru orice
j = i.
Din ipoteza de induct ie c

[a] Qc

[d] si t in and cont de compatibilitatea pe argumente obt inem c[a] Qc[d].


Denit ia 2.3.6 Daca Q este o relat ie pe A vom nota

Q
= {(c[a], c[d]) : (a, d) Q
s
, c T

(A {}) este context unde variabila are sortul s}.


Propozit ie 2.3.7
Q
este inchiderea la contexte a lui Q.
Demonstrat ie: Trebuie s a dovedim ca
Q
este cea mai mic a relat ie nchis a la contexte care include
Q.
Pentru a dovedi ca
Q
este inchis a la contexte, vom prefera s a ar atam ca este compatibila pe argu-
mente cu oprerat iile. Fie (c[a], c[d]) n
Q
unde (a, d) Q,
t
1
t
2
...tn,t
un simbol de operat ie si a
i
A
t
i
niste elemente din A. Folosind contextul c

= (a
1
, . . . , a
i1
, c, a
i+1
, . . . , a
n
) deducem ca (c

[a], c

[d]) este n

Q
. Dar calcul and ca mai sus
c

[a] = A

(a
1
, . . . , a
i1
, c[a], a
i+1
, . . . , a
n
) si c

[d] = A

(a
1
, . . . , a
i1
, c[d], a
i+1
, . . . , a
n
)
prin urmare
(A

(a
1
, . . . , a
i1
, c[a], a
i+1
, . . . , a
n
), A

(a
1
, . . . , a
i1
, c[d], a
i+1
, . . . , a
n
)) este n
Q
.
Incluziunea Q
Q
se demonstreaza folosind contextul .
Presupunem Q R si ca R este nchis a la contexte. Probam ca
Q
R. Fie (c[a], c[d]) n
Q
unde (a, d) Q. Incluziunea Q R implic a (a, d) R. Deoarece R este nchis a la contexte deducem ca
(c[a], c[d]) este n R.
Propozit ia precedenta ne asigura ca
Q
este operator de nchidere.
2.3.3

Inchiderea la preordini compatibile cu operat iile
Preordine semnica o relat ie reexiva si tranzitiva.
Reamintim regulile de deduct ie n mult imea egalitat ilor formale ntre elementele algebrei A denumite
Reexivitate, Tranzitivitate si Compatibilitate cu operat iile din :
R a

=
s
a
T a

=
s
d si d

=
s
c implic a a

=
s
c
C a
i

=
s
i
c
i
pentru orice i [n] implic a
A

(a
1
, a
2
, . . . , a
n
)

=
s
A

(c
1
, c
2
, . . . , c
n
) pentru orice
s
1
s
2
...sn,s
Remarcam ca C si R implic a CA.
Reciproca CA, R si T implic a C este demonstrata de lema urmatoare.
Lema 2.3.8 Fie A A o relat ie tranzitiv a si reexiv a n algebra A. Dac a este compatibil a pe
argumente cu operat iile algebrei A, atunci e compatibil a cu operat iile, adic a nchis a la C.
2.3. RESCRIERE LOCAL

A 55
Demonstrat ie: Fie
s
1
...sn,s
si a
i
, b
i
A
s
i
astfel nc at a
i

s
i
b
i
pentru orice i [n].
Aratam ca A

(a
1
, . . . , a
n
)
s
A

(b
1
, . . . , b
n
).
Daca n = 0 din reexivitate deducem A


s
A

.
Daca n = 1 din ipoteza CA rezult a A

(a
1
)
s
A

(b
1
).
Daca n 2 aplic and succesiv ipoteza CA obt inem
A

(a
1
, a
2
, . . . , a
n
)
s
A

(b
1
, a
2
, . . . , a
n
)
s
A

(b
1
, b
2
, a
3
, . . . , a
n
)
s
. . .
s
A

(b
1
, b
2
, . . . , b
n
)
Din tranzitivitatea relat iei deducem A

(a
1
, a
2
, . . . , a
n
)
s
A

(b
1
, b
2
, . . . , b
n
).
Pentru a rezuma desenam schema


C CA
R
R,T
nchiderea la contexte
Un comentariu privind regulile de deduct ie C si CA este bine venit. Regula C este utilizat a
n logica ecuat ional a. La rescrieri este preferabil s a lucr am cu regula CA, deoarece ea este echivalenta
cu nchiderea la contexte. Din cele de mai sus rezult a ca n prezent a reexibilit at ii si a tranzitivitat ii
regulile CA si C sunt echivalente. Deoarece reexivitatea si tranzitivitatea sunt acceptate atat de
logica ecuat ional a cat si de rescrieri, cele dou a reguli au aceeasi putere.
Propozit ie 2.3.9

Q
este cea mai mic a preordine compatibil a cu operat iile care include Q.
Demonstrat ie: Relat ia

Q
este prin denit ie nchiderea reexiva si tranzitiva a relat iei
Q
. Ea este,
prin denit ie, reexiva si tranzitiva. Este si nchis a la contexte, conform propozit iei 2.3.3 deoarece
Q
este nchis a la contexte.
Evident Q
Q

Q
.
Fie R o preordine compatibila cu operat iile care include Q. Deoarece C si R implic a CA relat ia R
este compatibila pe argumente cu operat iile, asadar relat ia R este nchis a la contexte, prin urmare aplic and
propozit ia 2.3.7, deducem
Q
R. Rezulta ca

Q
R deoarece R este reexiva si tranzitiva.
Din proprietat ile operatorilor de nchidere si R Q deducem
R

Q
si

Q
.
Notam u
Q
v dac a exista a A astfel nc at u

Q
a si v

Q
a.
2.3.4 rescriere
Un prim pas pentru suplinirea simetriei este nlocuirea regulii substitut iei cu regula rescrierii. Vom mai
folosi si regula rescrierii n subtermeni.
Rew

Pentru orice (X) l



=
s
r if H si orice morsm h : T

(X) A
(u

=
t
v H)(d A
t
)h
t
(u)

=
t
d si h
t
(v)

=
t
d implic a h
s
(l)

=
s
h
s
(r).
SRew

Pentru orice (X) l



=
s
r if H si orice morsm h : T

(X) A
(u

=
t
v H)(d A
t
)h
t
(u)

=
t
d si h
t
(v)

=
t
d implic a
c[h
s
(l)]

=
s
c[h
s
(r)] pentru orice context c T

(A {})
s
.
Remarcat i ca SRew

, rescrierea ntr-un subtermen, este o regul a de deduct ie mai puternica dec at Rew

,
rescrierea, care poate obt inut a din SRew

pentru c = .
Deasemenea Rew

si regula contextului implic a SRew

.
Comparand substitut ia si rescrierea observ am urmatoarele.
1) Rew

si R implic a Sub

.
2) Sub

, S si T implic a Rew

.
56 CHAPTER 2. RESCRIERI
Probam ultima armat ie. Fie (X) l

=
s
r if H si un morsm h : T

(X) A cu proprietatea
ca pentru orice u

=
s
v H exista d A
s
cu h
s
(u)

=
s
d si h
s
(v)

=
s
d. Pentru orice u

=
s
v H
cu S deducem d

=
s,
h
s
(v) si apoi cu T obt inem h
s
(u)

=
s
h
s
(v). In nal aplic am Sub

si deducem
h
s
(l)

=
s
h
s
(r).
Pentru a rezuma desenam schema


Sub

Rew

R
S,T

CA

SRew

Denim prin induct ie sirul cresc ator de mult imi de egalitat i formale din A.
Q
0
=
Q
n+1
= {h
s
(l)

=
s
h
s
(r) : (Y )l

=
s
r if H , h : T

(Y ) A, si (u

=
t
v H)h
t
(u)
Qn
h
t
(v)}
Pentru a ne convinge ca sirul de mai sus este cresc ator putem demonstra prin induct ie ca (n)Q
n
Q
n+1
.
Evident Q
0
= Q
1
. Presupunem Q
n
Q
n+1
si probam Q
n+1
Q
n+2
. Fie h
s
(l)

=
s
h
s
(r) n Q
n+1
,
adic a exista (Y )l

=
s
r if H si h : T

(Y ) A cu proprietatea (u

=
t
v H)h
t
(u)
Qn
h
t
(v).
Deoarece sirul
Qn
este cresc ator deducem h
t
(u)
Q
n+1
h
t
(v), deci h
s
(l)

=
s
h
s
(r) este n Q
n+2
.
Deoarece

si

sunt operatori de nchidere deducem ca sirurile


Qn
si

Qn
sunt crescatoare.
Observat ia 2.3.10 Dac a nu cont ine dec at ecuat ii, adic a n nu exist a nici o ecuat ie condit ionat a,
observ am c a sirul {Q
n
}
n1
este constant, deci Q = Q
1
.
Prin denit ie Q este reuniunea sirului cresc ator denit mai sus
Q =

nN
Q
n
.
Remarcam ca a
Q
d implic a existent a unui n natural cu proprietatea a
Qn
d. Deasemenea a

Q
d
implic a existent a unui n natural cu proprietatea a

Qn
d.
Sirul
Qn
este cresc ator.

In plus a
Q
b implic a existent a unui n natural cu proprietatea a
Qn
b.

In cazul n care Q este denita ca mai sus, n loc de


Q
vom prefera s a scriem

=

. Relat ia

=

este denumit a rescriere sau mai scurt rescriere.


Propozit ie 2.3.11

=

este nchis a la SRew

.
Demonstrat ie: Fie (Y )l

=
s
r if H , h : T

(Y ) A morsm cu proprietatea h
t
(u)
Q
h
t
(v)
pentru orice u

=
t
v H si un context c T

(A {})
s
. Trebuie ar atat ca c[h(l)]

=

c[h(r)].
Deoarece H este nit a si num arul pasilor utilizat n h
t
(u)
Q
h
t
(v) unde u

=
t
v H este nit exista
un n natural astfel nc at h
t
(u)
Qn
h
t
(v) pentru orice u

=
t
v H. Prin urmare h
s
(l)

=
s
h
s
(r) Q
n+1
.
Deoarece h
s
(l)

=
s
h
s
(r) Q deducem c[h
s
(l)]

=
Q
c[h
s
(r)], adic a c[h
s
(l)]

=

c[h
s
(r)].
Propozit ie 2.3.12

=

este cea mai mic a relat ie nchis a la R, T, C si Rew

.
Demonstrat ie: Evident

=

este nchis a la R, T si C si, ind nchis a la SRew

, este nchis a si la
Rew

.
Fie W o relat ie nchis a la R, T, C si Rew

. Demonstram prin induct ie dupa n ca Q


n
W.
Daca n = 0 avem Q
0
= W.
Pentru n 1 e h
s
(l)

=
s
h
s
(r) Q
n
, unde (Y )l

=
s
r if H , h : T

(Y ) A si h
t
(u)
Q
n1
h
t
(v)
2.4. RELAT IA DE

INT

ALNIRE, FORME NORMALE 57


pentru orice u

=
t
v H. Din ipoteza de induct ie Q
n1
W. Cum W este nchis a la C si R rezult a ca
W este nchis a la CA, adic a la contexte, deci
Q
n1
W. Folosind faptul ca W este nchis a la R si
T rezult a ca

Q
n1
W, prin urmare
Q
n1

W
.
Din (u

=
t
v H)h
t
(u)
Q
n1
h
t
(v) obt inem (u

=
t
v H)h
t
(u)
W
h
t
(v). Folosind nchiderea lui W la
Rew

rezult a ca h
s
(l)

=
s
h
s
(r) W, deci Q
n
W.
Prin urmare Q W si folosind propozit ia 2.3.9 deducem ca

Q
W.
2.3.5 Corectitudinea rescrierii
Teorema 2.3.13 Toate regulile de deduct ie de mai sus sunt corecte pentru congruent a semantic a

.
Demonstrat ie: Din lect ia privind logica ecuat ional a stim ca regulile de deduct ie R, S, T, C si Sub

sunt corecte.
Deoarece C si R implic a CA deducem ca CA este corect a.
Deoarece Sub

, S si T implic a Rew

rezult a ca Rew

este corect a.
Deoarece Rew

si CA implic a SRew

deducem ca SRew

este corect a.
Corolar 2.3.14

=

. (Corectitudinea rescrierii pentru congruent a semantic a)


Rescrierea nu este complet a pentru congruent a semantica deoarece SRew

nu capteaz a ntreaga fort a


a simetriei.
2.4 Relat ia de ntalnire, Forme normale
2.4.1 Conuent a
Denit ia 2.4.1 O relat ie pe o mult ime A se numeste conuenta dac a
(a, b, c A){[a b si a c] (d A)[b d si c d]}.
Propozit ie 2.4.2 Dac a este o preordine conuent a pe mult imea A, atunci relat ia denit a prin
a b (c A)a c si b c
si denumit a nt alnire prin este cea mai mic a echivalent a pe A care include .
Demonstrat ie:
Deoarece din a a si a a deducem a a. Deci relat ia ese reexiva.
Simetria este evidenta.
Probam tranzitivitatea. Fie a b si b c. Observ am ca exista d, e A astfel nc at a d, b d,
b e si c e. Din conuent a rezult a existent a lui f A astfel nc at d f si e f. Rezulta prin
tranzitivitate ca a f si c f, deci a c.
Pentru a dovedi ca , presupun and ca a b si observ and ca b b deducem a b
Fie o relat ie de echivalent a pe A care include . Probam ca include . Presupunand ca a b
rezult a existent a lui c A astfel nc at a c si b c. Deducem a c si b c, deci a b.
Observat ia 2.4.3 Dac a este o preordine conuent a si compatibil a pe o -algebr a multisortat a, atunci
este o congruent a.
58 CHAPTER 2. RESCRIERI
Demonstrat ie: Fie
s
1
s
2
...sn,s
si a
i
b
i
pentru orice i [n]. Pentru orice i [n], exista c
i
astfel
nc at a
i
c
i
si b
i
c
i
, prin urmare cu C deducem
A

(a
1
, a
2
, . . . , a
n
) A

(c
1
, c
2
, . . . , c
n
) si A

(b
1
, b
2
, . . . , b
n
) A

(c
1
, c
2
, . . . , c
n
).
Deci A

(a
1
, a
2
, . . . , a
n
) A

(b
1
, b
2
, . . . , b
n
).
2.4.2 Completitudinea ntalnirii prin recriere
Prin denit ie, pentru orice s S si orice a, d A
s
:
a

d dac a si numai dac a exista c A


s
astfel nc at a

c si d

c.
Relat ia

este denumit a ntalnire prin rescriere.


Propozit ie 2.4.4

.
Demonstrat ie: Din a

d deducem existent a lui c astfel nc at: a


c si d

c. Din aceasta utiliz and


corectitudinea rescrierii fat a de congruent a semantica deducem ca a

c si d

c deci a

d.
Aceasta dovedeste corectitudinea lui

n raport cu congruent a semantica. Pentru a demonstra si com-


pletitudinea sa, adic a incluziunea invers a, avem nevoie s a presupunem ca

este conuenta. Folosind


observat ia 2.4.3 deducem ca

este o congruent a.
Lema 2.4.5 Dac a

este conuent a, atunci congruent a

este nchis a la substitut ie.


Demonstrat ie: Fie (X) l

=
s
r if H si e h : T

(X) A un morsm pentru care h


t
(u)

h
t
(v)
pentru orice u

=
t
v H. Pentru orice u

=
t
v H exista a
uv
A
t
cu proprietat ile h
t
(u)

a
uv
si
h
t
(v)

a
uv
. Deoarece

este nchis a la Rew

deducem ca h
s
(l)

h
s
(r). Prin urmare h
s
(l)

h
s
(r).

Fie A

factorizarea lui A prin

si e : A A

morsmul de factorizare. Doarece congruent a

este nchis a la substitut ie deducem din propozit ia 1.8.8 ca A

|= .
Teorema 2.4.6 Dac a

este conuent a, atunci

.
Demonstrat ie: Folosind propozit ia 2.4.4 avem de demonstrat doar

.
Fie a

c. Deoarece A

|= si : A A

este morsm rezult a ca


s
(a) =
s
(c) adic a a

c.

In concluzie

ceea ce demonstreaza completitudinea lui

.
Din punct de vedere practic aceast a teorem a arat a c a demonstrarea propozit iei a

c poate redus a la a
demonstra a

c dac a rescrierea este conuent a. Prin urmare principala problem a devine


poate o masin a s a demonstreze c a a

c ?
2.4.3 Forme normale
La mult imi
Presupunemn continuare ca este o preordine pe mult imea A.
Denit ia 2.4.7 Elementul n A se numeste o forma normala pentru relat ia pe mult imea A dac a
(b A)(n b n = b).
2.4. RELAT IA DE

INT

ALNIRE, FORME NORMALE 59


In limbajul teoriei mult imilor partial ordonate, o forma normala este numit a element minimal. Unele texte
folosesc ireductibil sau forma canonic a n loc de forma normala.
Fie N mult imea elementelor din A care sunt forme normale pentru . Presupunem axioma Formei
Normale unice
FN! (a A)(! fn(a) N)a fn(a).
Observat ia 2.4.8 Dac a a d, atunci fn(a) = fn(d).
Demonstrat ie: Din ipoteza si d fn(d) deducem a fn(d), deci din unicitatea formei normale a lui a
deducem fn(a) = fn(d).
Observat ia 2.4.9 Axioma FN! implic a este conuent a.
Demonstrat ie: Presupunem a d si a c. Deducem fn(a) = fn(d) = fn(c), deci d fn(d) si
c fn(d).
Observat ia 2.4.10 Funct ia fn : A N este surjectiv a si
a d fn(a) = fn(d).
Demonstrat ie: Deoarece pentru orice element n n forma normala n = fn(n) rezult a surjectivitatea
funct iei fn.
Presupunem fn(a) = fn(d). Deoarece a fn(a) si d fn(a) deducem a d.
Presupunem a d. Fie c A astfel nc at a c si d c. Deducem fn(a) = fn(c) si fn(d) = fn(c),
deci fn(a) = fn(d).
Din punct de vedere practic aceast a observat ie arat a c a dac a rescrierea are proprietatea FN! demonstrarea
lui a

d este echivalent a cu egalitatea formelor normale pentru rescriere ale lui a si d.


Remarcam ca N este un sistem complect si independent de reprezentant i pentru . Independent
nseamna ca nu exista dou a forme normale echivalente si diferite, adic a n n

implic a n = n

, oricare ar
formele normale n si n

. Complect nseamna ca orice element este echivalent cu o forma normala, adic a


pentru orice a A exista o forma normala n N cu proprietatea a n.
Observat ia 2.4.11 Exist a o unic a biject ie b : A/

N astfel nc at ; b = fn unde : A A/

este
funct ia natural a de factorizare.
Demonstrat ie: Din proprietatea 1.6.6 de universalitate a mult imii cat rezult a existent a si unicitatea
funct iei b : A/

N cu proprietatea ; b = fn.
Probam ca funct ia b este surjectiva. Fie n N. Deoarece fn(n) = n deducem b((n)) = n, deci funct ia
b este surjectiva.
Probam ca este injectiv a. Presupunem ca b((a)) = b((c)). Rezulta ca fn(a) = fn(c). Prin urmare
a c. Deci (a) = (c).
La Algebre

In -algebra A = (A
s
, A

) presupunem ca este o preordine multi-sortata compatibila cu proprietatea


FN!.
-algebra N = (N
s
, N

) a formelor normale este denia prin:


N
s
= {a A
s
: a este forma normala } pentru s S si
N

(n
1
, n
2
, . . . , n
k
) = fn(A

(n
1
, n
2
, . . . , n
k
)) pentru orice
s
1
s
2
...s
k
,s
si
n
i
N
s
i
pentru 1 i k.
60 CHAPTER 2. RESCRIERI
Observat ia 2.4.12 fn : A N este un -morsm.
Demonstrat ie: Fie
s
1
s
2
...sn,s
si a
i
A
s
i
. Deoarece a
i
fn
s
i
(a
i
) pentru orice i [n] deducem ca
A

(a
1
, a
2
, . . . , a
n
) A

(fn
s
1
(a
1
), fn
s
2
(a
2
), . . . , fn
sn
(a
n
)),
prin urmare
fn
s
(A

(a
1
, a
2
, . . . , a
n
)) = fn
s
(A

(fn
s
1
(a
1
), fn
s
2
(a
2
), . . . , fn
sn
(a
n
))) =
= N

(fn
s
1
(a
1
), fn
s
2
(a
2
), . . . , fn
sn
(a
n
)).
Propozit ie 2.4.13 Dac a n -algebra A = (A
s
, A

), este o preordine multi-sortat a compatibil a cu


operat iile algebrei si cu proprietatea FN!, atunci algebrele A/

si N sunt izomorfe.
Demonstrat ie: Notam ca mai sus cu : A A morsmul de factorizare. Din proprietatea de
universalitate a algebrei cat 1.6.7 rezult a existent a si unicitatea morsmului h : A/

N cu proprietatea
; h = fn. Ca n cazul mult imilor rezult a ca morsmul h este bijectiv. Din propozit ia 1.1.8 rezult a ca h
este izomorsm.
Teorema 2.4.14 Dac a

satisface axioma FN!, atunci algebra formelor normale este isomorf a cu A

.
2.4.4 Relat ii canonice
In practic a pentru a verica ca

satisface axioma FN!, prefer am uneori s a veric am ca satisface pro-


priet at ile de conuent a si terminare.
Denit ia 2.4.15 Spunem ca are proprietatea de terminare dac a nu exista siruri {a
n
} de elemente din
A astfel nc at pentru orice num ar natural n s a avem a
n
a
n+1
si a
n
= a
n+1
.
Remarcam ca terminarea, concept venit din informatic a, coincide cu buna fondare, concept provenit din
lumea relat iilor sau din teoria axiomatica a mult imilor.
Observat ia 2.4.16 Dac a are proprietatea de terminare, atunci pentru orice element a din A exist a un
element n form a normal a n N cu proprietatea a n.
Demonstrat ie: Rat ion and prin absurd, a nu este n forma normala; prin urmare exista a
1
A cu
proprietat ile a a
1
si a = a
1
. Rat ion and n continuare prin absurd, a
1
nu este n forma normala; prin
urmare exista a
2
A cu proprietat ile a
1
a
2
si a
1
= a
2
. Continu and acest rat ionament prin induct ie
putem construi un sir de elemente care contrazice proprietatea de terminare.
Denit ia 2.4.17 Daca preordinea este conuenta si are proprietatea de terminare, atunci < A, > se
numeste canonica.
Propozit ie 2.4.18 Dac a < A, > este canonic a atunci axioma FN! este vericat a.
Demonstrat ie: Unicitatea va rezulta din conuent a. Presupunand ca n

si n

sunt dou a elemente n


forma normala cu proprietatea a n

si a n din conuent a exista d A astfel nc at n

d si n d.
Deoarece n

si n n sunt forma normala deducem ca n

= d si n = d, deci n

= n.
Din punct de vedere practic terminarea este necesar a pentru a opri execut ia calculatorului iar conuent a
este necesar a pentru completitudine. Aceste propriet at i implic a FN!. Pentru a demonstra c a a

c, adic a
a

c, este sucient conform observat iei 2.4.10 s a rescriem a si c in forma lor normal a fn(a) si fn(c)
pentru ca apoi s a veric am egalitatea fn(a) = fn(c).
2.5. RESCRIERE

IN SUBTERMENI 61
2.5 RESCRIERE

IN SUBTERMENI
Am vazut ca rescrierea canonic a d a o metod a de demonstrare automat a a propozit iilor valide. Urmatoarea
problema const a n a ar ata cum regulile de deduct ie pentru rescriere pot utilizate n mod practic.
Teoremele din aceast a lect ie explica modul n care se fac rescrierile n limbajele de programare decla-
rativa.
2.5.1 Completitudinea rescrierii n subtermeni
Propozit iile 2.3.11 si 2.3.12 ne asigura ca rescrierea este cea mai mic a preordine nchis a la SRew

com-
patibil a cu toate operat iile din A. Teorema urmatoare ne spune ceva mai mult.
Teorema 2.5.1 Rescrierea este cea mai mic a preordine din A nchis a la SRew

.
Demonstrat ie: Fie R

cea mai mic a relat ie pe A care este nchis a la R, T si SRew

. Din denit ia lui


R

deducem ca R

.
Pentru a demonstra incluziunea contrar a este sucient s a ar atam ca R

este nchis a n C.
Dar R

este tranzitiva si reexiva, deci este sucient s a ar atam ca R

este nchis a la CA, adic a


pentru ecare
s
1
...sn,s
si a
i
A
s
i
ca a R

d implic a
A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
) R

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
).
Demonstram ca mult imea
D = {a R

d |
s
1
s
2
...sn,s
; (a
j
A
s
j
)A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
) R

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
)}
este nchis a la R, T si SRew

.
Reexivitatea lui D rezult a din reexivitatea lui R

.
Presupunem ca (a, u) si (u, d) sunt n D. Folosind tranzitivitatea lui R

din a R

u si uR

d deducem
a R

d si din A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
) R

(a
1
, . . . , a
i1
, u, a
i+1
, . . . , a
n
) si
A

(a
1
, . . . , a
i1
, u, a
i+1
, . . . , a
n
) R

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
) deducem
A

(a
1
, . . . , a
i
1
, a, a
i+1
, . . . , a
n
) R

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
). Prin urmare (a, d) D. Deci D este
tranzitiva.
Probam ca D este nchis a la SRew

. Fie (X)l

=
s
r if H , un morsm h : T

(X) A cu
proprietatea ca pentru orice u

=
t
v H. exista a
uv
A
t
astfel nc at (h
t
(u), a
uv
) D si (h
t
(v), a
uv
) D
Pentru orice context c T

(A {})
s
trebuie ar atat ca (c[h
s
(l)], c[h
s
(r)]) D.
Deoarece R

este nchis a la SRew

din h
t
(u) R

a
uv
si h
t
(v) R

a
uv
pentru orice u

=
t
v H deducem
c[h
s
(l)] R

c[h
s
(r)] si c

[h
s
(l)] R

[h
s
(r)]
unde c

= (a
1
, . . . , a
i1
, c, a
i+1
, . . . , a
n
) este un context.
Din c

[h
s
(l)] = A

(a
1
, . . . , a
i1
, c[h
s
(l)], a
i+1
. . . , a
n
) si c

[h
s
(r)] = A

(a
1
, . . . , a
i1
, c[h
s
(r)], a
i+1
, . . . , a
n
)
obt inem
A

(a
1
, . . . , a
i1
, c[h
s
(l)], a
i+1
, . . . , a
n
) R

(a
1
, . . . , a
i1
, c[h
s
(r)], a
i+1
, . . . , a
n
).
Deci (c[h
s
(l)], c[h
s
(r)]) D.

In concluzie R

.
62 CHAPTER 2. RESCRIERI
2.5.2 Rescriere ntr-un pas
Fie c n T

(A {})
s
un context. Fie (X)l

=
s
r if H si e h : T

(X) A un morsm astfel


nc at pentru orice u

=
t
v H exista a
uv
A
t
cu proprietat ile h
t
(u)

a
uv
si h
t
(v)

a
uv
. Daca
c[h
s
(l)] = c[h
s
(r)] spunem ca c[h
s
(l)] se rescrie ntr-un pas n c[h
s
(r)] si scriem
c[h
s
(l)] c[h
s
(r)].
Propozit ie 2.5.2 Rescrierea este nchiderea reexiv a si tranzitiv a a rescrierii ntr-un pas.
Demonstrat ie: Fie

nchiderea reexiv-tranzitiva a rescrierii ntr-un pas.
Deoarece

si

este preordine deducem incluziunea


.
Reciproc, deoarece

este reexiva si tranzitiva este sucient s a ar atam ca

este nchis a la SRew

.
Fie (X) l

=
s
r if H , h : T

(X) A un morsm astfel nc at pentru orice u



=
t
v H exista a
uv
A
t
cu proprietat ile h
t
(u)

a
uv
si h
t
(v)

a
uv
si c un context din A[z]. Din incluziunea deja demonstrata
rezult a ca pentru orice u

=
t
v H exista a
uv
A
t
cu proprietat ile h
t
(u)

a
uv
si h
t
(v)

a
uv
. Avem
cazurile:
1. Daca c[h(l)] = c[h(r)] deducem din reexivitatea lui

ca c[h(l)]

c[h(r)].
2. Altfel, dac a c[h(l)] = c[h(r)], atunci c[h(l)] c[h(r)], deci c[h(l)]

c[h(r)] deoarece rescrierea
ntr-un pas este inclusa n nchiderea reexiva si tranzitiva a rescrierii ntr-un pas.

In continuare rescrierea ntr-un pas va notat a cu

sau .
2.5.3 Considerat ii metodologice
Pentru a demonstra ca a

b este sucient, n ipotezele de mai sus, s a ar atam ca fn


s
(a) = fn
s
(b) si
aceasta se face prin rescrierea lui a, respectiv a lui b n formele lor normale, pentru a verica ca sunt egale.
Fie a A
s
elementul de rescris. Se caut a
(X)l

=
s
r if H n , h : T

(X) A si un context c in A[z] astfel nc at c[h


s
(l)] = a.
Pentru a face rescrierea este sucient s a ar atam ca h
t
(u)

h
t
(v) pentru orice u

=
t
v H. Se ntrerupe
rescrierea principala pentru a face acest a vericare si n caz de reusit a se rescrie a n c[h
s
(r)]. In caz de
nereusit a se continu a cautarile pentru a reajunge n situat ia de mai sus. Intruc at n timpul veric arii uneia
dintre condit iile h
t
(u)

h
t
(v) se rescriu atat h
t
(u) cat si h
t
(v) n forma lor normala, fenomenul de mai
sus se poate repeta se apeleaza la mecanismul numit backtracking.
Daca cont ine doar ecuat ii necondit ionate, rescrierea ntr-un singur pas nu depinde de alte rescrieri, ca
n cazul general. Acest fapt explica de ce, n acest caz metoda backtracking nu este folositan implementarea
rescrierii.
Remarcam diferent a esent iala dintre o mult ime de axiome si un program. Un program este o mult ime
de axiome care veric a niste condit ii si care sunt scrise respectand sintaxa unui limbaj de programare
declarativa.
Am pus deja n evident a niste condit ii suciente pe care trebuie s a le ndeplineasca o mult ime de
axiome pentru a deveni program: rescrierea generat a trebuie s a e conuenta si s a aib a proprietatea de
terminare.
Practic, de exemplu, ntro ecuat ie din este interzis ca n membrul drept s a apar a o variabil a care nu
apare n membrul st ang, deoarece n caz contrar rescrierea nu are proprietatea de terminare.
Exemplu Signatura are dou a sorturi nat si bool; trei constante true, false de sort bool si 0 de sort nat;
dou a simboluri de operat ii s : nat nat si : nat nat bool. Axiomele acceptate cu x si y variabile
de sort nat sunt
2.6. UNIFICARE 63
1. 0 x = true 2. s(x) s(y) = true if x y = true 3. s(x) 0 = false
GFED @ABC
nat
0

ONML HIJK
bool
true

false

Vrem s a rescriem s(s(0)) s(s(z)). Se poate aplica numai axioma 2 pentru x = s(0) si y = s(z).

Inainte de aceasta trebuie s a rescriem s(0) s(z). Se poate aplica numai axioma 2 pentru x = 0 si y = z.

Inainte de aceasta rescriem 0 z

true cu axioma 1.
Deoarece am obt inut true putem rescrie s(0) s(z)

true.
Deoarece prin rescrierea lui s(0) s(z) am obt inut true putem rescrie s(s(0)) s(s(z))

true.
2.6 UNIFICARE
In semantica operat ional a a limbajelor de specicat ie rescrierea joaca un rol primordial. Pentru a rescrie
un subtermen a T

(Y ) al termenului de rescris cu ajutorul unei reguli se pune problema identic arii lui
a cu imaginea membrului st ang l T

(X) al unei reguli din printr-o substitut ie(morsm) de la T

(X)
la T

(Y ). Aceasta problema de potrivire(matching n englez a) se poate rezolva cu ajutorul algoritmului de


unicare. Mai precis se caut a a se unica l cu a n care toate variabilele din a sunt considerate constante.
Daca n l si a exista variabile comune, aceste variabile comune pot nlocuite n axioma utilizat a din
prin variabile noi. Acest fapt nu restrange generalitatea deoarece variabilele din axiome sunt cuanticate
universal fapt ce permite redenumirea lor.
Toate algebrele sunt presupuse libere. Prin substitut ie vom nt elege un morsm ntre dou a algebre
libere.
Problema unicarii. Se dau un num ar nit de egalitat ii formale l
i

=
s
i
r
i
si se cere gasirea unui
unicator, adic a a unei substitut ii u cu proprietatea u(l
i
) = u(r
i
) pentru orice i.
De fapt mult imea nit a de egalitat ii formale este privita ca un sistem de ecuat ii. Si de aici poate proveni
denumirea de ecuat ie folosita ca un sinonim pentru egalitat ile formale. Acest subcapitol descrie modul de
rezolvare a unui astfel de sistem chiar n algebra liber a din care provin termenii ecuat iilor. Cuvantul
unicator nseamna de fapt solut ie n algebra liber a din care provin termenii ecuat iilor.
Algoritmul prezentat aici este ales pentru simplcitatea sa. Ment ion am existent a unor algoritmi mai
ecient i.
2.6.1 Algoritmul de unicare
Vom lucra cu dou a liste: solut ie si de rezolvat. Initial lista solut ie este vida si lista de rezolvat cont ine
mult imea ecuat iilor de unicat.
Algoritmul de unicare const a n execut ia nedeterminist a a urmatorilor trei pasi.
1. Scoate. Se scoate din lista de rezolvat orice ecuat ie de forma t

= t.
2. Descompune. Orice ecuat ie din lista de rezolvat de forma
f(a
1
, a
2
, . . . , a
n
)

= f(b
1
, b
2
, . . . , b
n
)
se nlocuieste cu ecuat iile a
1

= b
1
, a
2

= b
2
, ..., a
n

= b
n
,
64 CHAPTER 2. RESCRIERI
3. Elimina. Orice ecuat ie din lista de rezolvat, de forma x

= t sau t

= x n care x este o variabil a care
nu apare n t este mutat a sub forma x

= t n lista solut ie. In toate celelalte ecuat ii x se substitue cu
t.
Algoritmul este oprit cu concluzia inexistent ei unui unicator n urmatoarele dou a cazuri.
1) Existent a n lista de rezolvat a unei ecuat ii de forma f(a
1
, a
2
, . . . , a
n
)

= g(b
1
, b
2
, . . . , b
m
) cu f = g,
2) Existent a n lista de rezolvat a unei ecuat ii de forma x

= t sau t

= x n care x este o variabil a care
apare n t si este diferita de t.
Oprirea normala a algoritmului se face prin epuizarea listei de rezolvat, caz n care, asa cum vom proba
mai jos, lista solut ie ne furnizeaz a cel mai general unicator.
2.6.2 Terminare
Terminarea algoritmului este probata folosind n ordine lexicograca dou a criterii exprimate prin numere
naturale:
1. num arul variabilelor care apar n lista de rezolvat, care in funct ie de pasul algoritmului utilizat are
urmatoarea comportare
(a) Scoate: r am ane egal sau se micsoreaz a,
(b) Descompune: r am ane egal,
(c) Elimina: se micsoreaz a
2. num arul aparit iilor simbolurilor(semnelor) care apar n lista de rezolvat, care se micsoreaz a n cele
dou a cazuri care ne mai intereseaz a Scoate si Descompune.
2.6.3 Corectitudine
Corectitudinea algoritmului se bazeaz a pe demonstrarea faptului ca mult imea unicatorilor pentru ecuat iile
din reuniunea celor dou a liste este un invariant, adic a nu se modic a prin aplicarea celor trei pasi ai
algoritmului.
Deoarece pentru pasul Scoate armat ia este evidenta ne referim doar la ceilalt i pasi.
Descompune: Observ am ca pentru orice substitut ie s egaliatea
s(f(a
1
, a
2
, . . . , a
n
))

= s(f(b
1
, b
2
, . . . , b
n
))
este echivalenta cu
f(s(a
1
), s(a
2
), . . . , s(a
n
))

= f(s(b
1
), s(b
2
), . . . , s(b
n
))
adic a cu s(a
i
)

= s(b
i
) pentru orice i [n].
Elimina: Observ am ca orice unicator u pentru ecuat iile din reuniunea celor dou a liste atat nainte
de aplicarea pasului cat si dupa aceasta trebuie s a satisfaca egalitatea u(x) = u(t). Pentru o substitut ie s
cu proprietatea s(x) = s(t) observ am ca
x t; s = s
deoarece (x t; s)(x) = s(t) = s(x) si (x t; s)(y) = s(y) pentru orice alta variabil a y. Prin urmare
pentru o astfel de substitut ie
s(l) = s(r) dac a si numai dac a s((x t)(l)) = s((x t)(r))
ceea ce arat a ca un unicator pentru ecuat iile din reuniunea celor dou a liste dinainte de aplicarea pasului
este unicator si pentru ecuat iile din reuniunea celor dou a liste de dupa aplicarea pasului si reciproc.
2.7. LOCAL CONFLUENT

A 65
Algoritmul este oprit cu concluzia inexistent ei unui unicator deoarece n cele dou a situat ii ment ionate
se constat a ca mult imea unicatorilor este vida.
S a observ am ca variabilele care apar n membrul st ang al ecuat iilor din lista solut ie sunt diferite dou a
cate dou a si nu mai apar n nici una dintre celelalte ecuat ii din cele dou a liste.
Faptul poate dovedit prin induct ie.
Ment ion am ca aplicarea primilor doi pasi ai algoritmului nu modic a lista solut ie si nu produc aparit ii
noi de variabile n cele dou a liste.
Fie x

= t ecuat ia introdusa n lista solut ie prin aplicarea pasului Elimina. Deoarece variabilele din
membrul st ang ai listei solut ie precedenta nu apar n celelalte ecuat ii rezult a ca variabila x este diferita de
celelalte variabile care apar n membrul st ang al ecuat iilor din lista solut ie. Prin urmare, variabilele din
membrul st ang al noii liste solut ie sunt diferite ntre ele.
In plus prin substituirea lui x cu t n celelalte ecuat ii variabila x dispare din ele deoarece x nu apare
n t. Deoarece nici x si nici variabilele din membrul st ang ai listei solut ie precedenta nu apar n t rezult a
ca dupa efectuarea substitut iei lui x cu t variabilele din membrul st ang ai listei solut ie nu apar n restul
ecuat iilor.
S a presupunem ca algoritmul s-a terminat prin epuizarea listei de rezolvat. S a not am cu k num arul
ecuat iilor din lista solut ie si cu x
i

= t
i
pentru i [k] ecuat iile din ea.
Fie U substitut ia denita prin
U(x
i
) = t
i
pentru orice i [k].
Denit ia este corect a deoarece variabilele x
i
sunt distincte. Deoarece variabilele x
i
nu apar n termenii t
i
deducem ca U(t
i
) = t
i
, prin urmare U(t
i
) = U(x
i
), deci U este un unicator. Vom dovedi ca este cel mai
general.
Observ am ca pentru orice substitut ie s compunerea U; s este tot un unicator. Vom ar ata ca orice alt
unicator este de aceast a forma. Fie u un alt unicator, adica u(x
i
) = u(t
i
) pentru orice i [k]. Observ am
ca U; u = u, caci u(U(x
i
)) = u(t
i
) = u(x
i
) pentru orice i [k] si u(U(y)) = u(y) pentru orice alta variabil a
y.
Deci U este cel mai general unicator, deoarece orice alt unicator poate exprimat ca o compunere
a lui U cu o substitut ie. In plus observ am ca el este idempotent deoarece U; U = U.
Notand V = X {x
1
, x
2
, . . . , x
k
} observ am ca V X si ca
U : T

(X) T

(V )
este un morsm cu proprietatea U(v) = v pentru orice v V .

In cele ce urmeaza vom scrie CGU ca o prescurtare pentru Cel mai General Unicator.
2.7 LOCAL CONFLUENT

A
Daca terminarea unui program poate chiar si o problema deschis a, problema conuent ei are solut ie,
adic a se pot scrie programe care pentru o mult ime dat a de reguli s a constate, n ipoteza terminarii, dac a
-rescrierea este conuenta. De fapt se probeaza local conuent a care mpreuna cu terminarea implic a
conuent a.
Reamintim ca relat ia de rescriere este conuenta dac a
(a, b, c) [(a

= b si a

= c) implic a (d) (b

= d si c

= d)].
Denit ia 2.7.1 Spunem ca rescrierea este local conuenta dac a
(a, b, c) [(a = b si a = c) implic a (d) (b

= d si c

= d)].
66 CHAPTER 2. RESCRIERI
Reamintim ca rescrierea are proprietatea de terminare, dac a nu exista siruri {a
n
}
n
cu proprietatea
a
n
= a
n+1
pentru orice n num ar natural.
Propozit ie 2.7.2 Dac a rescrierea este local conuent a si are proprietatea de terminare atunci rescrierea
este conuent a.
Demonstrat ie: Reamintim ca proprietatea de terminare ne aisgura pentru orice a existent a unei forme
normale n cu proprietatea a

= n. Vom demonstra unicitatea formei normale fapt ce implic a conuent a.
Notam cu N mult imea formelor normale. Fie M mult imea elementelor care se pot rescrie n cel put in dou a
forme normale.
M = {a : (n
1
, n
2
N)a

= n
1
, a

= n
2
, n
1
= n
2
}.
Probam ca a M implic a (b M)a =b.
Deoarece a M exista n
1
, n
2
N cu proprietat ile a

= n
1
, a

= n
2
si n
1
= n
2
. Daca a ar o forma
normala, atunci a = n
1
si a = n
2
ceea ce contrazice n
1
= n
2
.
Deoarece a nu este forma normala exista elemntul b cu proprietat ile a = b si b

= n
1
. La fel exista
c cu proprietat ile a = c si c

= n
2
. Deoarece rescrierea este local conuent a exista elementul d cu
proprietat ile b

= d si c

= d. Deoarece terminarea implic a existent a formei normale deducem n N
cu proprietatea d

= n.
Deoarece n
1
= n
2
deducem n = n
1
sau n = n
2
.
Daca n = n
1
deoarece b

= n
1
si b

= n decucem b M. Daca n = n
2
deoarece c

= n si c

= n
2
deducem c M.
Probam unicitatea formei normale. Rat ion and prin absurd presupunem ca M este nevida. Plec and
de la a
1
M aplic and observat ia de mai sus deducem existent a lui a
2
M cu proprietatea a
1
= a
2
.
Repetand rat ionamentul printr-o induct ie deducem existent a unui sir {a
n
}
n
cu proprietatea a
n
= a
n+1
pentru orice n natural. Deci rescrierea nu are proprietatea de terminare, n contradict ie cu ipoteza.
2.8 RESCRIERE MODULO ECUATII
Motivare : Comutativitatea folosita ca regul a de rescriere conduce la pierderea proprietat ii de terminare.
Deoarece unele ecuat ii, de exemplu comutativitatea, nu pot folosite ca axiome pentru rescriere, s-a
gasit o alta cale pentru utilizarea acestora si anume rescrierea modulo ecuat ii. Mult imea E reprezinta
ecuat iile necondit ionate care n loc de a folosite ca axiome vor utilizate pentru rescrierea modulo
ecuat ii.
2.8.1 Motivare semantica
Fie E o mult ime de ecuat ii si o mult ime de ecuat ii condit ionate.
Propozit ie 2.8.1 Fie m : A B un morsm din categoria algebrelor cu toate componentele injective.
Dac a B |= , atunci A |= .
Demonstrat ie: Fie (X)l

=
s
r if H . Fie h : T

(X) A un morsm astfel nc at h


t
(u) = h
t
(v)
pentru orice u

=
t
v H. Atunci h; m : T

(X) B este un morsm si


(h; m)
t
(u) = m
t
(h
t
(u)) = m
t
(h
t
(v)) = (h; m)
t
(v)
pentru orice u

=
t
v H. Deoarece B satisface rezult a ca (h; m)
s
(l) = (h; m)
s
(r), adic a m
s
(h
s
(l)) =
m
s
(h
s
(r)). Dar componenta m
s
a morsmului m este injectiv a, deci h
s
(l) = h
s
(r).
Asadar A satisface orice (X)l

=
s
r if H , adic a A |= .
Corolar 2.8.2 Orice subalgebr a a unei algebre este algebr a.
2.8. RESCRIERE MODULO ECUATII 67
Propozit ie 2.8.3 Fie e : A B un morsm din categoria algebrelor cu toate componentele surjective
si E o mult ime de ecuat ii necondit ionate. Dac a A |= E, atunci B |= E.
Demonstrat ie: Fie (X)l

=
s
r E si h : T

(X) B un morsm. Deoarece -algebra liber a T

(X)
este proiectiv a, conform propozit iei 1.7.2, rezult a ca exista un morsm g : T

(X) A astfel nc at g; e = h.
Atunci
A |= (X)l

=
s
r E g
s
(l) = g
s
(r) e
s
(g
s
(l)) = e
s
(g
s
(r)) h
s
(l) = h
s
(r).
Deci B satisface orice ecuat ie (X)l

=
s
r din E, adic a B satisface E.
Reamintim ca A

= A/

. Pentru a,c A
s
reamintim deasemenea ca a

c dac a si numai dac a


h
s
(a) = h
s
(c) pentru orice h : A B |= .
Notam A
E,
= (A
E
)

, iar cu : A A
E
si j : A
E
A
E,
morsmele canonice de factorizare.
Observat ia 2.8.4 Algebrele A
E
si A
E,
sunt izomorfe.
Demonstrat ie: Ideea demonstrat iei este de a ar ata ca A
E,
are proprietat ile care caracterizeaz a abstract ie
de un izomorsm algebra A
E
.
Evident A
E,
|= . Deoarece morsmul j : A
E
A
E,
are toate componentele surjective si A
E
|= E
rezult a din propozit ia 2.8.3 ca A
E,
|= E, deci A
E,
|= E.
Pentru restul demonstrat iei putet i utiliza gura 2.1.
A

A
E

j
A
E,
`
`
`
`
`
`
`
`

-
B

h
Figure 2.1:
Fie B o algebra cu proprietatea B |= E. Deoarece B |= E, din proprietatea de universalitate
a algebrei A
E
deducem ca exista un unic morsm h

: A
E
B astfel nc at ; h

= h. Deoarece B |=
rezult a ca exista un unic morsm h

: A
E,
B astfel nc at j; h

= h

. Atunci (; j); h

= h.
Unicitatea lui h

rezult a din surjectivitatea lui ; j.


Propozit ie 2.8.5 a
E
c
s
(a)


s
(c) pentru oricare a, c A
s
.
Demonstrat ie: Fie t : A A
E
morsmul canonic de factorizare si i : A
E,
A
E
unicul
izomorsm cu proprietatea ; j; i = t.
Presupunem
s
(a)


s
(c). Deoarece j
s
(
s
(a)) = j
s
(
s
(c)) aplic and izomorsmul i si t in and cont de
egalitatea de mai sus deducem t
s
(a) = t
s
(c) deci a
E
c.
Reciproc, presupunem a
E
c. Deoarece t
s
(a) = t
s
(c) aplic and inversul izomorsmului i si t in and
cont de egalitatea ; j = t; i
1
deducem j
s
(
s
(a)) = j
s
(
s
(c)) deci
s
(a)


s
(c).
Propozit ia 2.8.5 ne d a o metod a de a evita ecuat iile E care nu pot folosite ca axiome n rescriere.
Presupunem ca avem de demonstrat a
E
c n A. Propozit ia 2.8.5 ne spune ca n loc s a demonstram
acest lucru, putem ar ata ca
s
(a)


s
(b) n A
E
. Daca am dorii s a folosim metoda dat a n lect iile
anterioare, pentru a o demonstra vom ajunge la rescrieri n A
E
.
68 CHAPTER 2. RESCRIERI
2.8.2 Rescrierea modulo o relat ie de echivalent a
Rescrierean A
E
se numeste rescriere de clase. Deoarece clasele de echivalent a ale relat iei
E
pot innite,
vom prefera s a le nlocuim pe acestea cu un reprezentant din A care la r andul lui va putea substituit cu
un alt reprezentant al aceleiasi clase si apoi rescris n A. Aceasta rescriere din A este denumit a rescriere
modulo E. Scopul acesteia este ca trec and la clase, s a produc a rescrierea din A
E
.
Conceptul de rescriere modulo E poate generalizat prin conceptul de rescriere modulo o relat ie de
echivalent a ce poate cu usurint a formalizat. Conceptul de rescriere modulo o relat ie de echivalent a
se obt ine din conceptul clasic de rescriere la care se adaug a o nou a regul a de deduct ie numit a regula
claselor.
Cl

a
s
b implic a a

=
s
b
De remarcat faptul ca Cl

este o regul a deductiv a mai puternica dect R, prin urmare n rescrierea modulo
regula Cl

va nocui pe R.
Utilizarea far a restrict ii a regulei claselor duce la pierderea proprietat ii de terminare. Un element poate
rescris n altul din aceeasi clas a, acesta la r andul lui poate rescris n alt element echivalent si asa
mai departe. Observ am ca un sir nit de astfel de resrieri poate nlocuit cu una singura deoarece toate
elementele care apar n rescriere sunt din aceeasi clas a. Prin urmare, restrict ia de a nu folosi de dou a ori
consecutiv regula claselor nu restrange puterea acestei reguli si este sucienta pentru implementare.
Preliminarii
Fie un morsm h : A B si o variabil a de sort s.
Fie h

: T

(A {}) T

(B {}) unicul morsm denit pentru orice x A {} prin


h

(x) =

dac a x =
h(x) dac a x A
.
Pentru orice c din T

(B {}) e nr
B

(c) num arul de aparit ii ale lui n c. Deoarece h

; nr
B

= nr

rezult a ca pentru c din T

(A {}), h

(c) este context dac a si numai dac a c este context.


Pentru oricare a din A
( a); h = h

; ( h(a)).
Pentru orice c din T

(A {}) are loc egalitatea


h(c[a]) = h

(c)[h(a)].
Daca n plus morsmul h : A B este surjectiv pe componente, atunci morsmul
h

: T

(A {}) T

(B {}) este si el surjectiv pe componente fapt care se demonstreaza prin


induct ie structurala proband ca pentru orice c

(B {}) exista c T

(A {}) cu proprietatea
h

(c) = c

. In plus pentru ecare context c

(B {}) exista un context c T

(A {}) astfel nct


h

(c) = c

.
Corectitudinea
Rescrierea din algebra B este notat a cu

.

In continuare vom nota prin
h
rescrierea din A modulo
echivalent a nuclear a Ker(h) a morsmului h : A B.
Propozit ie 2.8.6 Fie un morsm h : A B. Dac a a
h
d atunci h(a)

h(d).
Demonstrat ie: Vom ar ata ca mult imea de propozit ii din A
D = {a

=
s
d : h
s
(a)

h
s
(d)}
2.8. RESCRIERE MODULO ECUATII 69
este nchis a la regulile Cl
Ker(h)
, T si SRew

.
Cl
Ker(h)
. Fie aKer(h)
s
d. Prin urmare h
s
(a) = h
s
(d). Din reexivitate h
s
(a)

h
s
(d), deci a

= d D.
T. Fie a

=
s
b D si b

=
s
c D. Prin urmare h
s
(a)

h
s
(b) si h
s
(b)

h
s
(c). Datorita tranzitivitat ii
h
s
(a)

h
s
(c), deci a

= c D.
SRew

. Fie (X)l

=
s
r if H si f : T

(X) A un morsm astfel nct pentru orice u



=
t
v
exista a
uv
A
t
cu proprietat ile f
t
(u)

=
t
a
uv
D si f
t
(v)

=
t
a
uv
D. Prin urmare h
t
(f
t
(u))

h
t
(a
uv
)
si h
t
(f
t
(v))

h
t
(a
uv
).
Pentru orice context c din T

(A{}), deoarece

este nchis la SRew

, folosind contextul h

(c) si
morsmul f; h : T

(X) B obt inem


h

(c)[(f; h)
s
(l)]

(c)[(f; h)
s
(r)].
Deoarece
h

(c)[(f; h)
s
(l)] = h

(c)[h
s
(f
s
(l))] = h(c[f
s
(l)])
si analog
h

(c)[(f; h)
s
(r)] = h

(c)[h
s
(f
s
(r))] = h(c[f
s
(r)])
rezult a ca
h(c[f
s
(l)])

h(c[f
s
(r)])
ceea ce ncheie demonstrat ia, deoarece arat a ca c[f
s
(l)]

=
s
c[f
s
(r)] D.
Deoarece D este nchis a la regulile Cl
Ker(h)
, T si SRew

rezult a ca
h
D
fapt care implic a concluzia.
Din propozit ia de mai sus aplicat a pentru morsmul de factorizare canonic rezult a ca dac a a se rescrie
modulo o echivalent a n b, atunci clasa de echivalent a a lui a se rescrie n clasa de echivalent a a lui b.
Corolar 2.8.7 Dac a a

d atunci h(a)

h(d).
Demonstrat ie: Putem aplica propozit ia folosind

h
.
Completitudinea
Propozit ie 2.8.8 Fie h : A B un morsm surjectiv pe componente. Dac a h(a)

h(d) atunci
a
h
d.
Demonstrat ie: Fie mult imea
D = {h
s
(a)

= h
s
(d) : a
h
d}.
Observ am ca h
s
(u)

= h
s
(v) D implic a u
h
v. Din ipoteza exista a, b asfel nc at h
s
(u) = h
s
(a), a
h
d si
h
s
(d) = h
s
(v), prin urmare u
h
v.
Probam ca D este nchis a la R,T si SRew

.
R. Fie d B
s
. Deoarece h
s
este surjectiva exista a A
s
cu h
s
(a) = d. Din a
h
a deoarece
h
este
reexiva, rezult a ca h
s
(a)

=
s
h
s
(a) D, prin urmare d

=
s
d D. Deci D este reexiva.
70 CHAPTER 2. RESCRIERI
T. Fie x

= y si y

= z n D. Exist a a
h
v si u
h
d cu x = h(a), h(v) = y, h(u) = y si h(d) = z.
Deoarece h(v) = h(u) deducem v
h
u. Folosind n plus a
h
v si u
h
d deducem prin T ca a
h
d,
deci h(a)

= h(d) D, adic a x

= z D.

In concluzie D este tranzitiva.
SRew

. Fie (X)l

=
s
r if H , un morsm f : T

(X) B astfel nc at pentru orice u



=
t
v H
exista b
uv
B
t
cu proprietat ile f
t
(u)

=
t
b
uv
D si f
t
(v)

=
t
b
uv
D. Pentru orice context c T

(B{})
s

dorim s a dovedim ca
c[f
s
(l)]

= c[f
s
(r)] D.
Deoarece -algebra liber a T

(X) este proiectiva si h este un morsm surjectiv pe componente exista


un morsm g : T

(X) A astfel nct g; h = f.


Deoarece h este surjectiv pe componente pentru orice u

=
t
v H exista a
uv
A
t
cu proprietatea
h
t
(a
uv
) = b
uv
.
Observ am ca pentru orice u

=
t
v H, din
h
t
(g
t
(u))

= h
t
(a
uv
) D si h
t
(g
t
(u))

= h
t
(a
uv
) D
deducem
g
t
(u)
h
a
uv
si g
t
(v)
h
a
uv
.
Deoarece exista un context c

(A {})
s
astfel nct h

(c

) = c folosind SRew

deducem ca
c

[g
s
(l)]
h
c

[g
s
(r)].
Prin urmare
h
s
(c

[g
s
(l)])

= h
s
(c

[g
s
(r)]) D.
Dar,
c[f
s
(l)] = h

s
(c

)[h
s
(g
s
(l))] = h
s
(c

[g
s
(l)])
si
c[f
s
(r)] = h

s
(c

)[h
s
(g
s
(r))] = h
s
(c

[g
s
(r)]).
Deci c[f
s
(l)]

= c[f
s
(r)] D.
Corolar 2.8.9 a se rescrie modulo o echivalent a n b, dac a si numai dac a clasa de echivalent a a lui a
se rescrie n clasa de echivalent a a lui b.
Aceste propozit ii arat a ca rescrierea claselor ntr-o algebr a ct A/ poate nlocuit a cu rescrierea modulo
din A. Rescrierea modulo ecuat ii este doar un caz particular.
Comentariu.

In acest moment cititorul poatent elege dece am preferat s a ne baz am lect iile pe rescrieri
ntr-o algebr a, stil pe care nu l-am mai ntalnit p an a n prezent. Autorii prefer a s a nceap a cu rescrieri
ntr-o algebr a liber a(term rewriting) si n momentul cand ajung la rescrierile modulo ecuat ii s a expun a
acceasi teorie privind acest alt tip de rescriere.

In concluzie rescrierile ntr-o algebra unica rescrieriele
ntr-o algebr a liber a cu rescrierile modulo ecuat ii.
2.9 DEMONSTRAREA ECUATIILOR CONDITIONATE
Pentru dou a mult imi de -ecuat ii condit ionate si

, vom scrie |=

dac a si numai dac a A |=


implic a A |=

pentru orice -algebra A.



In acest caz spunem ca

este consecint a semantica a lui


.
P an a acum ne-am ocupat numai de ecuat iile necondit ionate adevarate n orice -algebra. In aceast a
subcapitol vom da o cale prin care se poate demonstra ca o ecuat ie condit ionat a este adevarat a n orice
-algebra, adic a |=

.
2.9. DEMONSTRAREA ECUAT IILOR CONDITIONATE 71
2.9.1 Preliminarii
Se arat a usor ca
B |=

(X)l

=
s
r if H si B |=

{(X)u

=
t
v | u

=
t
v H} implic a B |=

(X)l

=
s
r.

Intradevar pentru orice morsm h : T

(X) B din B |=

{(X)u

=
t
v | u

=
t
v H} deducem
h
t
(u) = h
t
(v) pentru orice u

=
t
v H. Prin urmare din B |=

(X)l

=
s
r if H rezult a ca h
s
(l) = h
s
(r).
Am probat ca pentru orice morsm h : T

(X) B are loc egalitatea h


s
(l) = h
s
(r), deci B |=

(X)l

=
s
r.
Din p acate reciproca nu este adevarat a n general, ci numai n cazul particular al -algebrei init iale.
Lema 2.9.1
B |=

()l

=
s
r if H dac a si numai dac a [B |=

{()u

=
t
v | u

=
t
v H} implic a B |=

()l

=
s
r].
Demonstrat ie: Presupunem ca B |=

{()u

=
t
v | u

=
t
v H} implic a B |=

()l

=
s
r.
Probam ca B |=

()l

=
s
r if H.
Fie h : T

B cu h
t
(u) = h
t
(v) pentru orice u

=
t
v H.
Probam ca B |=

{()u

=
t
v | u

=
t
v H}. Fie g : T

B. Deoarece T

este init iala deducem ca


g = h, deci g
t
(u) = g
t
(v) pentru orice u

=
t
v H.
Din ipoteza deducem B |=

()l

=
s
r, deci h
s
(l) = h
s
(r).
Corolar 2.9.2
|=

()l

=
s
r if H dac a si numai dac a {()u

=
t
v | u

= v H} |=

()l

=
s
r.
Demonstrat ie: Demonstrat ia se va face printr-un sir de echivalent e. Plec am de la
|=

()l

=
s
r if H
care prin denit ie este echivalenta cu
(B |=

)B |=

()l

=
s
r if H.
Conform lemei armat ia de mai sus este echivalenta cu
(B |=

)(B |=

{()u

=
t
v | u

= v H} implic a B |=

()l

=
s
r)
care este echivalenta cu
(B |=

( {()u

=
t
v | u

= v H})) B |=

()l

=
s
r
adic a cu
{()u

=
t
v | u

= v H} |=

()l

=
s
r.
Lema si corolarul precedent ne permit s a spargem o ecuat ie condit ionat a de demonstrat n p art ile ei
componente. Din p acate acest fapt este posibil numai pentru ecuat iile condit ionate far a variabile. Teorema
constantelor ne va permite s a nlocuim demonstrarea unei ecuat ii condit ionate cu variabile cu o ecuat ie
condit ionat a far a variabile.
72 CHAPTER 2. RESCRIERI
2.9.2 Schimbarea signaturii
Prima etap a const a n nlocuirea ecuat iei condit ionate cu o alta echivalenta dintr-o algebr a init iala.
Pentru aceasta este necesara schimbarea signaturii prin transformarea variabilelor din ecuat ia condit ionat a
de demonstrat n constante (simboluri de operat ii far a argumente). Aceasta tehnic a de demonstrat ie a mai
fost folosita n subcapitolul 1.4.5.
Fie o signatura S-sortata si X o mult ime S-sortata de variabile disjunct a de . Vom lucra n
continuare cu o nou a signatura S-sortata
X
care include si n care ecare x X
s
devine un simbol de
operat ie far a argumente de sort s.
Vom nota cu j :
X
morsmul incluziune de signaturi. G andit i-va la el ca la o funct ie incluziune
de mult imi deoarece conceptul de morsm de signaturi va introdus mult mai tarziu. Vom nota functorul
uituc cu
Mod(j) : Alg

X
Alg

.
Deoarece conceptul categorial de functor nu este denit aici punet i mai mult accent pe cuvantul uituc.
Un alt exemplu de functor uitic, de la inele la grupuri, este cel care uit a nmult irea inelului p astr and
numai structura aditiva a grupului. Mod(j) uit a constantele corespunzatoare lui X din ecare
X
algebr a
p astr and numai structura de algebra.
In categoria
X
-algebrelor Alg

X
vom utiliza o notat ie speciala si anume o
X
-algebr a va scrisa
ca o pereche (A, a) unde A este o -algebra si a : X A este o funct ie S-sortata. Prin -algebra
A se dau suporturile si operat iile corespunzatoare simbolurilor din iar prin funct ia a se dau operat iile
corespunzatoare simbolurilor din X, adic a operat ia corespunzatoare lui x X
s
este a
s
(x).
Observ am ca h : (A, a) (B, b) este un morsm de
X
-algebre dac a si numai dac a h : A B este
morsm de -algebre si a; h = b. Explicit egalitatea a; h = b spune ca
h
s
(a
s
(x)) = b
s
(x)
pentru orice s S si x X
s
.
Av and in vedere notat iile de mai sus observ am ca
Mod(j)(A, a) = A pentru orice
X
-algebr a (A, a) si
Mod(j)(h) = h pentru orice
X
-morsm h.
Un cititor mai putin experimentat poate considera cele dou a egalitat i de mai sus drept denit ii. Prima
egalitate reect a uitarea constantelor corespunzatoare variabilelor din X. A doua egalitate spune ca orice
morsm de
X
algebre este morsm de algebre
Schimbarea signaturii cu
X
impune translatarea axiomelor n
X
axiome.
2.9.3 Translatarea ecuat iilor
Vom nota cu Y o mult ime de variabile cuanticat a universal ntr-o -axioma. Far a a restrange generalitatea
putem presupune ca Y este disjunct a de X. Vom nota cu
i : T

(Y ) T

(X Y )
unicul -morsm pentru care i(y) = y pentru orice y din Y . Far a a restrange generalitatea putem
presupune ca i este o incluziune.
Mai observ am ca
T

X
(Y ) = (T

(X Y ), X T

(X Y )).
Prin urmare Mod(j)(T

X
(Y )) = T

(X Y ).
2.9. DEMONSTRAREA ECUAT IILOR CONDITIONATE 73
Observat ia 2.9.3 Pentru orice
X
-algebr a (M, m) funct ia
F : Alg

X
(T

X
(Y ), (M, m)) Alg

(T

(Y ), M)
denit a prin F(h) = i; Mod(j)(h) este o biject ie.
Demonstrat ie: Observ am ca F(h) este restrict ia lui h la T

(Y ).
Probam surjectivitatea lui F. Fie -morsmul u : T

(Y ) M. Denim g : T

(XY ) M unicul
morsm cu proprietat ile
g(z) =

u(z) dac a z Y,
m(z) dac a z X.
Deoarece g(x) = m(x) pentru orice x X, observ am ca g : T

X
(Y ) (M, m) este
X
-morsm.
Deoarece g(y) = u(y) pentru orice y Y deducem ca restrict ia lui g la T

(Y ) coincide cu u.
Probam injectivitatea lui F. Fie h
1
: T

X
(Y ) (M, m) si h
2
: T

X
(Y ) (M, m) dou a

X
morsme cu proprietatea F(h
1
) = F(h
2
). Deoarece h
1
si h
2
sunt
X
morsme deducem
h
1
(x) = m(x) = h
2
(x) pentru orice x X. Din F(h
1
) = F(h
2
) deducem h
1
(y) = h
2
(y) pentru orice
y Y . Deoarece h
1
si h
2
sunt morsme denite pe T

(X Y ) deducem ca h
1
= h
2
.
Faptele expuse p an a acum ca si lema urmatoare au un caracter tehnic. Deoarece signatura a fost
schimbat a este necesar ca axiomele s a e rescrise n noua signatura. Mult imea Y reprezinta variabilele
cuanticate universal dintr-o axioma. Ele nu sunt afectate prin trecerea la noua signatura. Schimbarea
signaturii axiomelor este mai mult formal a caci n noile axiome constantele obt inute din variabilele din X
nu sunt practic folosite. Aceasta este motivul pentru care n lema si cololarul care urmeaza funct ia m, prin
care sunt date constantele, apare numai n membrul st ang, membrul drept ind independent de aceasta.
Fiecarei -ecuat ii condit ionate
= (Y )l

=
s
r if H
i atas am o alta
X
-ecuat ie condit ionat a
J() = (Y )i
s
(l)

=
s
i
s
(r) if {i
t
(u)

= i
t
(v) | u

=
t
v H}.
Funct ia J duce o -ecuat ie necondit ionat a ntr-o
X
-ecuat ie necondit ionat a.
Lema 2.9.4 Satisfacerea. Pentru orice
X
-algebr a (M, m)
(M, m) |=

X
J() dac a si numai dac a M |=

.
Demonstrat ie: Observ am ca (M, m) |=

X
J() este, prin denit ie, echivalenta cu
h : T

X
(Y ) (M, m) dac a h
t
(i
t
(u)) = h
t
(i
t
(v)) pentru orice u

=
t
v, atunci h
s
(i
s
(l)) = h
s
(i
s
(r)),
prin urmare echivalenta cu
h : T

X
(Y ) (M, m) dac a (i; Mod(j)(h))
t
(u) = (i; Mod(j)(h))
t
(v) pentru orice u

=
t
v H, atunci
(i; Mod(j)(h))
s
(l) = (i; Mod(j)(h))
s
(r);
adic a echivalenta cu
h : T

X
(Y ) (M, m) dac a F(h)
t
(u) = F(h)
t
(v) pentru orice u

=
t
v H, atunci F(h)
s
(l) = F(h)
s
(r).
Folosind biject ia de mai sus deducem ca (M, m) |=

X
J() este echivalenta cu
g : T

(Y ) M dac a g
t
(u) = g
t
(v) pentru orice u

=
t
v H, atunci g
s
(l) = g
s
(r)
adic a cu M |=

.
Pentru o mult ime de -ecuat ii condit ionate not am J() = {J() | }.
Corolar 2.9.5 Pentru orice
X
-algebr a (M, m) si orice mult ime de -ecuat ii condit ionate
(M, m) |=

X
J() dac a si numai dac a M |=

.
74 CHAPTER 2. RESCRIERI
2.9.4 Teorema constantelor
Teorema 2.9.6 Teorema constantelor:
|=

(X)l

=
s
r if H dac a si numai dac a J() |=

X
()l

=
s
r if H.
Demonstrat ie: La nceput vom ment iona forme echivalente pentru cei doi membri ai echivalent ei din
enunt .
Membrul st ang
|=

(X)l

=
s
r if H
este echivalent succesiv cu:
1. Oricare ar -algebra A, dac a A |=

, atunci A |=

(X)l

=
s
r if H,
2. Oricare ar -morsmul h : T

(X) A |= dac a h
t
(u) = h
t
(v) pentru orice u

=
t
v H, atunci
h
s
(l) = h
s
(r).
Membrul drept
J() |=

X
()l

=
s
r if H
este echivalent succesiv cu:
1. Oricare ar
X
-algebra (M, m), dac a (M, m) |=

X
J(), atunci (M, m) |=

X
()l =
s
r if H,
2. Oricare ar
X
-morsmul h : T

X
(M, m) |=

X
J()
dac a h
t
(u) = h
t
(v) pentru orice u

=
t
v H, atunci h
s
(l) = h
s
(r).
Presupunem ca |=

(X)l

=
s
r if H. Fie h : T

X
(M, m) |=

X
J() cu h
t
(u) = h
t
(v) pentru orice
u

=
t
v H.
Deoarece M |=

rezult a ca M |=

(X)l

=
s
r if H prin urmare din h : T

(X) M si h
t
(u) =
h
t
(v) pentru orice u

=
t
v H deducem h
s
(l) = h
s
(r).
Reciproc, presupunem ca J() |=

X
()l

=
s
r if H. Fie h : T

(X) M |=

cu h
t
(u) = h
t
(v)
pentru orice u

=
t
v H.
Deoarece (M, h
/X
) |=

X
J(), h : T

X
(M, h
/X
) este un
X
-morsm si h
t
(u) = h
t
(v) pentru
orice u

=
t
v H din ipoteza deducem h
s
(l) = h
s
(r).
Acesta teorem a ne permite s a elimin am cuanticatorul universal prinnlocuirea variabilelor cuanticate
prin simboluri de operat ii constante. Astfel primul obiectiv de a ne muta ntr-o algebr a init iala a fost atins.
Teorema urmatoare nu face dec at s a trag a concluziile, furniz and o cale prin care putemncerca demon-
starea ecuat iilor condit ionate. Problema care r am ane este demonstrarea corectitudinii programului obt inut
folosind noul set de axiome n ipoteza ca programul dat de axiomele este corect.
Teorema 2.9.7 Teorema deduct iei:
|=

(X)l

=
s
r if H dac a si numai dac a J() {()u

=
t
v | u

=
t
v H} |=

X
()l

=
s
r.
Demonstrat ie: Conform teoremei constantelor
|=

(X)l

=
s
r if H
este echivalenta cu
J() |=

X
()l

=
s
r if H
care conform corolarului 2.9.2 este echivalenta cu
2.10. PERECHI CRITITCE 75
J() {()u

=
t
v H} |=

X
()l

=
s
r.
In concluzie pentru demonstrarea -ecuat iei condit ionate (X)l

=
s
r if H putem proceda astfel
schimb am signatura cu signatura
X
, translatand axiomele din n noua signatura
ad aug am {()u

=
t
v | u

=
t
v H} la axiome si
demonstram ()l

=
s
r n noul context.
Credem ca este bine s a semnalam ntrebarea. Daca este program, este si J() {()u

=
t
v H} un
program?
2.10 PERECHI CRITITCE
Toate algebrele sunt libere. Presupunemn plus ca cont ine numai ecuat ii necondit ionate.
Mai ment ion am ca membrul st ang al unei ecuat ii nu poate format numai dintr-o variabil a, deoarece
n caz contrar orice expresie ar putea rescrisa. O consecint a a acestui fapt este ca nici o variabil a nu mai
poate rescrisa, adic a este o forma normala.
Lema 2.10.1 Pentru orice c T

(A {}) dac a a

d, atunci c[a]

c[d].
Demonstrat ie: Ment ion am ca lema arat a mai mult dec at nchiderea la contexte, caci n enunt nu se
presupune nimic despre c.
Probam prin induct ie structurala dupa c.
Daca c = concluzia coincide cu ipoteza.
Daca c A utiliz am reexivitatea.
Daca c = (c
1
, c
2
, . . . , c
n
) din ipoteza de induct ie c
i
[a]

c
i
[d] pentru orice i, prin urmare aplic and
C deducem
A

(c
1
[a], c
2
[a], . . . , c
n
[a])

(c
1
[d], c
2
[d], . . . , c
n
[d]),
prin urmare deoarece
A

(c
1
[a], c
2
[a], . . . , c
n
[a]) = A

( a(c
1
), a(c
2
), . . . , a(c
n
)) =
= a((c
1
, c
2
, . . . , c
n
)) = a(c) = c[a] si
A

(c
1
[d], c
2
[d], . . . , c
n
[d]) = A

( d(c
1
), d(c
2
), . . . , d(c
n
)) =
= d((c
1
, c
2
, . . . , c
n
)) = d(c) = c[d] tragem concluzia
c[a]

c[d].
Lema 2.10.2 Pentru orice c T

(A {}) dac a a

d, atunci c[a]

c[d].
Demonstrat ie: Deoarece exista m astfel nc at a

m si d

m din lema precedenta deducem


c[a]

c[m] si c[d]

c[m] de unde rezult a concluzia.


Lema 2.10.3 Dac a y nu apare n c T

(A {}), atunci (y b)(c[a]) = c[(y b)(a)].


Demonstrat ie: Se face prin induct ie structurala dupa c.
Denit ia 2.10.4 Fie (X
1
)l
1

=
s
r
1
si (X
2
)l
2

=
s
r
2
dou a axiome din far a variabile comune, ipoteza
care nu restrange generalitatea. Fie c n T

(A {}
s
) un context astfel nc at
l
1
= c[d]
unde d nu este o variabil a. Fie u un cel mai general unicator al lui d si al lui l
2
. Elementele
u(r
1
) si u(c[r
2
])
formeaza o pereche critica.
76 CHAPTER 2. RESCRIERI
Pe scurt not am mult imea perechilor critice
PC

= {(u(r
1
), u(c[r
2
])) : (X
1
)l
1

=
s
r
1
, (X
2
)l
2

=
s
r
2
, l
1
= c[d], c este context, d nu este
variabil a si u = CGU{d, l
2
} }
Propozit iile din care se formeaza perechile critice sunt axiome, eventual identice, din unde, la nevoie,
variabilele uneia sunt nlocuite cu variabile noi pentru ca cele dou a propozit ii s a devina far a variabile
comune.
Observat ia 2.10.5 Dac a rescrierea este local conuent a, atunci PC

.
Demonstrat ie: Observ am ca
u(l
1
)

u(r
1
) si
u(l
1
) = u

(c)[u(d)] = u

(c)[u(l
2
)]

(c)[u(r
2
)] = u(c[r
2
]).
Deoarece rescrierea este local conuenta deducem ca
u(r
1
)

u(c[r
2
]).
Teorema 2.10.6 Dac a PC

, atunci rescrierea este local conuent a.


Demonstrat ie: Far a a micsora generalitatea vom presupune ca toate mult imile de variabile cu care
lucr am sunt disjuncte dou a cate dou a si ca variabilele nou introduse sunt distincte ntre ele si nu apart in
altor mult imi de variabile.
Presupunem ca
a a
1
si a a
2
.
Prin urmare pentru i [2] exista (X
i
)l
i

= r
i
, contextul c
i
A[z
i
] si morsmul h
i
: T

(X
i
) A
astfel nc at a = c
i
[h
i
(l
i
)] si a
i
= c
i
[h
i
(r
i
)].
Cei doi subarbori h
1
(l
1
) si h
2
(l
2
) ai lui a pot disjunct i(cazul 1 de mai jos) sau inclusi unul n
celalalt(cazurile 2 si 3 trei de mai jos).

In cazurile 2 si 3 vom presupune far a a restrange generalitatea ca
h
2
(l
2
) este subarbore a lui h
1
(l
1
).
Cazul 1(far a suprapunere). Intuitiv cele dou a rescrieri se fac n zone disjuncte din a, adic a h
1
(l
1
) si
h
2
(l
2
) sunt subarbori disjunct i ai lui a. Rescrierea a a
1
se face nlocuind h
1
(l
1
) cu h
1
(r
1
), subarborele
h
2
(l
2
) r am an and neschimbat. Rescrierea a a
2
se face nlocuind h
2
(l
2
) cu h
2
(r
2
), subarborele h
1
(l
1
)
r am an and neschimbat. Observ am ca a
1
si a
2
pot rescrisi n acelasi element care se obt ine e nlocuind
n a
1
pe h
2
(l
2
) cu h
2
(r
2
), e nlocuind n a
2
pe h
1
(l
1
) cu h
1
(r
1
).
Formal nlocuind n a subarborii h
1
(l
1
) si h
2
(l
2
) cu dou a variabile noi z
1
si z
2
exista c T

(A{z
1
, z
2
})
cu cate o aparit ie a variabilelor z
1
si z
2
astfel nc at
c
1
= (z
2
h
2
(l
2
))(c) si c
2
= (z
1
h
1
(l
1
))(c).
Deoarece z
1
nu apare n h
2
(l
2
) si nici z
2
nu apare n h
1
(r
1
) deducem
(z
1
h
1
(r
1
))[(z
2
h
2
(l
2
))(c)] = (z
2
h
2
(l
2
))[(z
1
h
1
(r
1
))(c)].
Observ am ca
a
1
= c
1
[h
1
(r
1
)] = (z
1
h
1
(r
1
))(c
1
) = (z
1
h
1
(r
1
))[(z
2
h
2
(l
2
))(c)] = (z
2
h
2
(l
2
))[(z
1
h
1
(r
1
))(c)] =
{(z
1
h
1
(r
1
))(c)}[h
2
(l
2
)]
prin urmare
2.10. PERECHI CRITITCE 77
z
1
h
1
(l
1
)
z
2
h
2
(l
2
)
a:
c
z
1
h
1
(l
1
)
z
2
h
2
(r
2
)
a
2
:
c
z
1
h
1
(r
1
)
z
2
h
2
(r
2
)
c
z
2
h
2
(l
2
)
z
1
h
1
(r
1
)
a
1
:
c

Figure 2.2: Cazul 1. Subarbori disjunct i


a
1
(z
1
h
1
(r
1
))(c)[h
2
(r
2
)] = (z
2
h
2
(r
2
))[(z
1
h
1
(r
1
))(c)].
Observ am ca
a
2
= c
2
[h
2
(r
2
)] = (z
2
h
2
(r
2
))(c
2
) = (z
2
h
2
(r
2
))([z
1
h
1
(l
1
)](c)) = {(z
2
h
2
(r
2
))(c)}[h
1
(l
1
)]
prin urmare
a
2
{(z
2
h
2
(r
2
))(c)[h
1
(r
1
)] = (z
1
h
1
(r
1
))[(z
2
h
2
(r
2
))(c)] = [z
2
h
2
(r
2
)][(z
1
h
1
(r
1
))(c)],
deci a
1

a
2
.
Cazurile 2-3(cu suprapunere, adic a h
2
(l
2
) este subexpresie n imaginea prin h
1
a lui l
1
).
Cazul 2(cu suprapunere critic a, adic a h
2
(l
2
) este imaginea prin h
1
al unui subtermen d al lui l
1
care
nu este variabil a).
Deoarece h
2
(l
2
) este o subexpresie a lui h
1
(l
1
) rezult a existent a unei subexpresii d a lui l
1
astfel nc at
h
2
(l
2
) = h
1
(d).
Notam cu c contextul cu variabila distinsa z
2
n care d apare n l
1
, adic a
l
1
= c[d].
Deoarece
a = c
1
[h
1
(l
1
)] = c
1
[h
1
(c[d])] = c
1
[h
z
2
1
(c)[h
1
(d)]] = c
1
[h
z
2
1
(c)[h
2
(l
2
)]] = c
1
[(z
2
h
2
(l
2
))(h
z
2
1
(c))].
Deoarece z
2
nu apare n c
1
a = (z
2
h
2
(l
2
))(c
1
[h
z
2
1
(c)]) = c
1
[h
z
2
1
(c)][h
2
(l
2
)]
78 CHAPTER 2. RESCRIERI
z
2
h
2
(r
2
)
h
z
2
1
(c)
z
1
c
1
a
2
:
z
2
h
1
(d)
h
2
(l
2
)
=
h
z
2
1
(c)
z
1
c
1
a: z
1
h
1
(l
1
)
c
1
z
1
w
c
1
z
1
h
1
(r
1
)
c
1
a
1
:

Figure 2.3: Cazul 2. Cu suprapunere critic a


prin urmare
c
2
= c
1
[h
z
2
1
(c)],
deci
a = c
1
[h
z
2
1
(c)][h
2
(l
2
)]
si
a
2
= c
1
[h
z
2
1
(c)][h
2
(r
2
)] = (z
2
h
2
(r
2
))(c
1
[h
z
2
1
(c)]).
Fie
h : T

(X
1
X
2
) A
unicul morsm care extinde atat pe h
1
c at si pe h
2
. Observ am ca h este un unicator pentru d si l
2
. Fie
u : T

(X
1
X
2
) T un cel mai general unicator al lui d si l
2
si t : T A unicul morsm cu
proprietatea u; t = h.
Doarece d nu este variabil a rezult a ca u(r
1
) si u(c[r
2
]) formeaza o pereche critic a. Din ipoteza deducem
u(r
1
)

u(c[r
2
]). Aplicand morsmul t obt inem t(u(r
1
))

t(u(c[r
2
])), deci
h(r
1
)

h(c[r
2
]).
Prin urmare exista w astfel nc at
h
1
(r
1
)

w si h(c[r
2
])

w.
Din prima rescriere deducem a
1
= c
1
[h
1
(r
1
)]

c
1
[w].
Utilizand a doua rescriere deducem
a
2
= (z
2
h
2
(r
2
))((z
1
h
z
2
1
(c))(c
1
)) deoarece z
2
nu apare c
1
= (z
1
{z
2
h
2
(r
2
)(h
z
2
1
(c))})(c
1
) = (z
1
{h
z
2
1
(c)[h
2
(r
2
)]})(c
1
) = (z
1
h(c[r
2
]))(c
1
) =
= c
1
[h(c[r
2
])]

c
1
[w],
deci a
1

a
2
.
2.10. PERECHI CRITITCE 79
x
h1(x)
x
h1(x)
z2
h2(l2)
x
c
h1(l1)
z1
c1
a:
.
.
. .
.
.
h2(r2)
x
h2(r2)
x
h2(r2)
x
z1
c1
fost h1(l1)
. . . . . .
z2
h2(l2)
x
c
z2
h2(l2)
x
c
z1
c1
a1:
h1(r1)
. . .
z2
h2(r2)
x
c
z2
h2(r2)
x
c
z1
c1
h1(r1)
. . .
z2
h2(r2)
x
c
h2(l2)
x
h2(l2)
x
z1
c1
fost h1(l1)
a2:
.
.
.
.
.
.

c1[(u; x c[h2(r2)])(l1)]
c1[(u; x c[h2(r2)])(r1)]
Figure 2.4: Cazul 3. Cu suprapunere necritic a
Cazul 3(cu suprapunere necritic a, adic a h
2
(l
2
) este subexpresie n imaginea prin h
1
a unei variabile x
din l
1
).
80 CHAPTER 2. RESCRIERI
Notam cu c T

(A {z
2
}) contextul n care se gaseste h
2
(l
2
) n h
1
(x), prin urmare
h
1
(x) = c[h
2
(l
2
)] (2.1)
Fie
u : T

(X
1
) T

(A {x})
unicul morsm cu u(x) = x si care act ioneaz a ca h
1
pe T

(X
1
{x}). Observ am ca h
1
= u; x h
1
(x).

In plus x h
1
(x) = x c[h
2
(l
2
)] = x c ; z
2
h
2
(l
2
), deci
h
1
= u; x c; z
2
h
2
(l
2
).
Deoarece
h
1
(r
1
) = (z
2
h
2
(l
2
))((u; x c)(r
1
))
observ am, deoarece z
2
nu apare n c
1
, ca
a
1
= c
1
[(z
2
h
2
(l
2
))((u; x c)(r
1
))] = (z
2
h
2
(l
2
))(c
1
[(u; x c)(r
1
)]) = (c
1
[(u; x c)(r
1
)])[h
2
(l
2
)],
prin urmare
a
1

c
1
[(u; x c)(r
1
)])[h
2
(r
2
)] = (z
2
h
2
(r
2
))(c
1
[(u; x c)(r
1
)]) = c
1
[(z
2
h
2
(r
2
))((u; x c)(r
1
))]
deci
a
1

c
1
[(u; x c; z
2
h
2
(r
2
))(r
1
)] = c
1
[(u; x c[h
2
(r
2
)])(r
1
)].
Pentru a continua analiz am contextul c
2
si observ am ca n acesta apar subarbori de dou a tipuri
provenind din variabila x din l
1
1) Aparit ia lui x care creaz a subtermenul h
2
(l
2
) care este rescris pentru a-l obt ine pe a
2
si care n c
2
este nlocuit a cu subarborele c
2) Restul aparit iilor lui x din l
1
care n c
2
dau nastere unui subarbore h
1
(x).
Pentru a diferent ia aceste aparit ii ale lui x n l proced am dupa cum descriem n cele de mai jos.
Punand n evident a n l
1
aparit ia lui x care prin aplicarea lui h
1
d a nastere subtermenului h
2
(l
2
)
care este rescris pentru a da nastere lui a
2
si substituind-o cu o variabil a nou a z obt inem un context
l T

(X
1
{z}) cu proprietatea l
1
= l[x].
Fie w : T

(X
1
{z}) A[z
2
] unicul morsm cu proprietat ile w(x
1
) = h
1
(x
1
) pentru orice x
1
X
1
si
w(z) = c. Observ am ca
z x; h
1
= w; z
2
h
2
(l
2
).
Folosind egalitatea tocmai dovedit a, deoarece z
2
nu apare n c
1
a = c
1
[h
1
((z x)(l))] = c
1
[(z
2
h
2
(l
2
))(w(l))] = (z
2
h
2
(l
2
))(c
1
[w(l)]) = (c
1
[w(l)])[h
2
(l
2
)]
deducem ca
c
2
= c
1
[w(l)].
Fie p : T

(X
1
{z}) A[x] morsmul denit prin p(x
1
) = h
1
(x
1
) pentru orice x
1
X
1
{x}, p(x) = x
si p(z) = c[h
2
(r
2
)]. Observ am ca
w; z
2
h
2
(r
2
) = p; x h
1
(x).
a
2
= c
2
[h
2
(r
2
)] = (z
2
h
2
(r
2
))(c
1
[w(l)]) = c
1
[(w; z
2
h
2
(r
2
))(l)] = c
1
[(p; x h
1
(x))(l)].
Deoarece x h
1
(x) = x c; z
2
h
2
(l
2
)
2.11. TERMINAREA SI PROCEDURA KNUTH-BENDIX 81
a
2
= c
1
[(z
2
h
2
(l
2
))((p; x c)(l))] = (z
2
h
2
(l
2
))(c
1
[(p; x c)(l)]) = (c
1
[(p; x c)(l)])[h
2
(l
2
)].
Prin urmare
a
2

(c
1
[(p; x c)(l)])[h
2
(r
2
)] = (z
2
h
2
(r
2
))(c
1
[(p; x c)(l)]) = c
1
[(p; x c; z
2
h
2
(r
2
))(l)].
Observ am ca
p; x c; z
2
h
2
(r
2
) = z x; u; x c[h
2
(r
2
)]
prin urmare
a
2

c
1
[(z x; u; x c[h
2
(r
2
)])(l)] = c
1
[(u; x c[h
2
(r
2
)])(l
1
)]

c
1
[(u; x c[h
2
(r
2
)])(r
1
)]
deci
a
1

a
2
.
2.11 TERMINAREA si PROCEDURA KNUTH-BENDIX
2.11.1 Terminarea programelor
Terminarea este o propritate impusa de practica. Din p acate nu dispunem nc a de metode puternice
pentru a proba aceast a proprietate. Damn cele ce urmeaza cateva fapte care ne permit uneori s a probam
terminarea. Ment ion am ca terminarea este denumirea folosita n informatic a pentru buna fondare.
Reamintim ca prin ns asi denit ia rescrierii ntr-un pas, a

d implic a a = d. Rescrierea

are
proprietatea de terminare dac a nu exista siruri {a
n
}
nN
cu proprietatea a
n

a
n+1
pentru orice n N.
Teorema 2.11.1 Urm atoarele propriet at i sunt echivalente
1. Rescrierea are proprietatea de terminare,
2. nchiderea tranzitiv a a rescrierii ntrun pas
+

este o relat ie de ordine strict a si bine fondat a,


3. exist a o relat ie de ordine pe A compatibil a cu structura algebric a cu propriet at ile:
(a) varianta ei strict a > este bine fondat a,
(b) pentru orice (X)l =
s
r if H si orice h : T

(X) A dac a h(H)

, atunci h(l) h(r)


4. exist a o relat ie bine fondat a pe o mult ime M si o funct ie : A M cu propriet at ile
(a) pentru orice (X)l =
s
r if H si orice h : T

(X) A dac a h(H)

si h(l) = h(r),
atunci (h(l)) (h(r))
(b) pentru orice n 1 si orice
s
1
s
2
...sn,s
, (a) (d) si
A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
) = A

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
) implic a
(A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
)) (A

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
)),
5. exist a o relat ie bine fondat a pe o mult ime M si : A M o funct ie cu propriet at ile
(a) pentru orice (X)l =
s
r if H si orice h : T

(X) A dac a h(H)

si h(l) = h(r),
atunci (h(l)) (h(r)),
(b) pentru orice context c A[z]
s
si pentru orice a, d A
s
dac a (a) (d) si c[a] = c[d], atunci
(c[a]) (c[d]),
6. exist a o relat ie bine fondat a pe mult imea M si : A M o funct ie cu proprietatea
(a) a

d implic a (a) (d).


82 CHAPTER 2. RESCRIERI
Demonstrat ie:
12. E sucient s a probam ca a
+

a este falsa pentru orice a A. Presupunand prin absurd


existent a lui a A cu proprietatea a
+

a se poate construi un sir care contrazice terminarea.


23. Rescrierea

veric a condit iile cerute.


34. Pentru M = A si aplicat ia identica, observ am ca relat ia > veric a condit iile cerute.
45. Probam (b) prin induct ie structurala dupa contextul c. Observ am ca elementele algebrei A nu
sunt contexte.
Daca c = , deoarece c[a] = a si c[d] = d concluzia rezult a direct din ipoteza.
Daca c = (a
1
, a
2
, . . . , a
n
) unde
s
1
s
2
...sn,s
. Deoarece c este context rezult a ca n 1.

In plus
exista un i [n] astfel nc a a
i
este context si restul argumentelor sunt din A. Presupunem c[a] = c[d].
Deoarece c[a] = A

(a
1
, . . . , a
i1
, a
i
[a], a
i+1
, . . . , a
n
) si c[d] = A

(a
1
, . . . , a
i1
, a
i
[d], a
i+1
, . . . , a
n
) rezult a ca
a
i
[a] = a
i
[d]. Din ipoteza de induct ie deducem ca (a
i
[a]) (a
i
[d]).
Deoarece A

(a
1
, . . . , a
i1
, a
i
[a], a
i+1
, . . . , a
n
) = A

(a
1
, . . . , a
i1
, a
i
[d], a
i+1
, . . . , a
n
), din ipoteza rezult a
ca
(A

(a
1
, . . . , a
i1
, a
i
[a], a
i+1
, . . . , a
n
)) (A

(a
1
, . . . , a
i1
, a
i
[d], a
i+1
, . . . , a
n
)).
56. Presupunem ca a

d. Prin urmare exista (X)l =


s
r if H , morsmul h : T

(X) A si
contextul c T

(A {})
s
cu proprietat ile h(H)

, a = c[h
s
(l)] si d = c[h
s
(r)].

In plus a = d implic a h
s
(l) = h
s
(r).
Din prima ipoteza deducem (h
s
(l)) (h
s
(r)).
Folosim c[h
s
(l)] = c[h
s
(r)] si aplic and a doua ipoteza rezult a ca (c[h
s
(l)]) (c[h
s
(r)]). Prin urmare
(a) (d).
61. Presupunrm prin absurd ca

nu are proprietatea de terminare. Prin urmare exista sirul


{a
n
}
n
cu proprietatea a
n

a
n+1
pentru orice n natural. Aplicand funct ia elementelor acestui sir
obt inem un alt sir care contrazice bine fondarea relat iei .
Se poate observa diferent a esent iala dintre cele dou a ipoteze ale variantelor 4 sau 5 din teorema 2.11.1.
Prima se refera la rolul algebrei A ind secundar. A doua ipoteza nu are nici o legatur a cu ind de
fapt o proprietate de compatibilitate ntre algebra A si relat ia utilizat a.
2.11.2 Exemplul teoriei grupurilor
Vom aplica teoria de mai sus pentru programul corespunzator teoriei grupurilor.
obj GRUP is sort E .
op _*_ : E E -> E .
op e : -> E .
op _ : E -> E [prec 2].
var A B C : E .
eq (A*B) = B * A .
eq A = A .
eq e = e .
eq (A*B)*C = A*(B*C) .
eq e * A = A .
eq A * e = A .
eq A * A = e .
eq A * A = e .
2.11. TERMINAREA SI PROCEDURA KNUTH-BENDIX 83
eq A * (A * B) = B .
eq A * (A * B) = B .
endo
Ca relat ie bine fondata vom folosi relat ia strict mai mare uzual a > pe mult imea numerelor naturale.
Algebra pentru care facem demonstrat ia este presupus a a o algebr a liber a. Aceasta ipoteza permite
denirea funct iei este astfel:
(e) = 2, (x) = 2 pentru orice variabil a x
(t

) = 2
(t)
si (t s) = (t)
2
(s).
Observ am ca (t) 2 pentru orice termen t.
Veric am prima ipoteza a echivalent elor 4 sau 5 din teorema 2.11.1.
1. (h((A B)

)) = ((h(A) h(B))

) = 2
(h(A))
2
(h(B))
(h(B

)) = (h(B)

h(A)

) = (2
(h(B))
)
2
2
(h(A))
= 2
2(h(B))+(h(A))
Notand x = (h(A)) 2 si y = (h(B)) 2 observ am ca este sucient s a demonstram ca
(x + 2)
2
(y + 2) > 2(y + 2) + (x + 2) oricare ar numerele naturale x, y, ceea ce este usor.
2. (h(A

)) = 2
2
(h(A))
> (h(A))
3. (h(e

)) = (h(e)

) = 2
2
= 4 > 2 = (h(e))
4. (h((AB)C)) = ((h(A))
2
(h(B)))
2
(h(C)) = (h(A))
4
(h(B))
2
(h(C)) > (h(A))
2
(h(B))
2
(h(C)) =
(h(A (B C)))
5. (h(e A)) = 2
2
(h(A)) > (h(A))
6. (h(A e)) = 2(h(A))
2
> (h(A))
7. (h(A

A)) = (2
(h(A))
)
2
(h(A)) > 2 = (h(e))
8. (h(A A

)) = (h(A))
2
2
(h(A))
> 2 = (h(e))
9. (h(A

(A B))) = (2
(h(A))
)
2
(h(A))
2
(h(B)) > (h(B))
10. (h(A (A

B))) = (h(A))
2
(2
(h(A))
)
2
(h(B)) > (h(B))
Vericarea ipotezei a doua din echivalent a 4 este imediat a.
2.11.3 Completarea Knuth-Bendix
Este vorba de o procedura care ne permite n anumite condit ii destul de restrictive s a gasim un program
pentru o prezentare ecuat ional a dat a. Condit iile sunt restrictive deoarece se presupune existent a unei
relat ii care s a verice condit ia (b) din condit iile echivalente 4 sau 5 din teorema 2.11.1.

In aceste condit ii
atent ia se va concentra asupra veridicit at ii condit iei (a) din aceleasi condit ii echivalente.
Un exemplu
Vomncepe cu un exemplu care va ar ata cum se obt ine programul pentru teoria grupurilor din specicat ia
uzual a a grupurilor.
Specicat ia uzual a de la care plec am este inclusa n programul de mai sus.
e A = A (2.2)
84 CHAPTER 2. RESCRIERI
A

A = e (2.3)
(A B) C = A (B C) (2.4)

In acest exemplu ne baz am mai mult pe intuit ie, ncerc and s a realiz am ntalnirea prin rescrierea
perechilor critice. C aut am cel mai general unicator u pentru membrul st ang l
2
al unei ecuat ii E
2
si
un subtermen d al unui membru st ang l
1
al unei ecuat ii E
1
, posibil aceeasi. Prin urmare exista un context
c astfel nc at l
1
= c[d]. Apoi rescriem u(l
1
) la dou a forme normale n
1
si n
2
ncep and cu
u(l
1
) u(r
1
) si u(l
1
) = u

(c)[u(l
2
)] u

(c)[u(r
2
)] = u(c[r
2
])
dupa care ad aug am una dintre ecuat iile n
1
= n
2
sau n
2
= n
1
cu intent ia de a asigura local conuent a.
Vom specula existent a funct iei si a relat iei > pe numere naturale din exemplul dat n sect iunea 2.11.2,
pentru a alege ntre cele dou a egalitat i si anume dac a (n
1
) > (n
2
) alegem n
1

= n
2
pentru a o ad auga
celorlalte reguli.
Unicand membrul st ang al lui (2.3) cu subtermenul A B din membrul st ang al lui (2.4) si calcul and
formele normale obt inem
(A

A) C
2.3
= e C
2.2
= C
(A

A) C
2.4
=A

(A C)
prin urmare ad aug am regula
A

(A C) = C (2.5)
Unicand membrul st ang al lui (2.2) cu subtermenul A C din membrul st ang al lui (2.5) si calcul and
formele normale obt inem
e

(e A)
2.5
= A
e

(e A)
2.2
= e

A
prin urmare ad aug am regula
e

A = A (2.6)
Mai tarziu vom observa ca aceast a regul a este superua.
Unicand membrul st ang al lui (2.3) cu subtermenul A C din membrul st ang al lui (2.5) si calcul and
formele normale obt inem
B

(B

B)
2.3
= B

e
B

(B

B)
2.5
= B
prin urmare ad aug am regula
B

e = B (2.7)
Mai tarziu vom observa ca aceast a regul a este superua.
Unicand membrul st ang al lui (2.7) cu subtermenul A B din membrul st ang al lui (2.4) si calcul and
formele normale obt inem
(B

e) A
2.4
= B

(e A)
2.2
= B

A
(B

e) A
2.7
= B A
prin urmare ad aug am regula
B

A = B A (2.8)
Mai tarziu vom observa ca aceast a regul a este superua.
Unicand membrul st ang al lui (2.7) cu membrul st ang al lui (2.8) si calcul and formele normale obt inem
B

e
2.7
= B
2.11. TERMINAREA SI PROCEDURA KNUTH-BENDIX 85
B

e
2.8
= B e
prin urmare ad aug am regula
B e = B (2.9)
Unicand membrul st ang al lui (2.7) cu membrul st ang al lui (2.9) si calcul and formele normale obt inem
B

e
2.7
= B
B

e
2.9
= B

prin urmare ad aug am regula


B

= B (2.10)
Marind lista regulilor cu noi reguli de rescriere, este posibil ca unele reguli s a devina inutile, ind
posibil a nl aturarea lor far a a pierde din fort a rescrierii. Concret, dac a se constat a pentru o regul a l
1

= l
2
ca folosind celelalte reguli (far a l
1

= l
2
) l
1
si l
2
pot rescrise n aceeasi forma normala, atunci vom elimina
regula l
1

= l
2
.

In acest moment regulile (2.7) si (2.8) pot eliminate deoarece


B

e
2.10
= B e
2.9
= B si
B

A
2.10
= B A.
Lucram n continuare cu regulile (2.2, 2.3, 2.4, 2.5, 2.6, 2.9 si 2.10).
Unicand membrul st ang al lui (2.6) cu membrul st ang al lui (2.9) si calcul and formele normale obt inem
e

e
2.6
=e
e

e
2.9
= e

prin urmare ad aug am regula


e

= e (2.11)

In acest moment regula (2.6) poate eliminat a deoarece


e

A
2.11
= e A
2.2
= A
Lucram n continuare cu regulile (2.2, 2.3, 2.4, 2.5, 2.9, 2.10 si 2.11).
Unicand membrul st ang al lui (2.10) cu subtermenul A

din membrul st ang al lui (2.3) si calcul and


formele normale obt inem
B

2.3
= e
B

2.10
= B B

prin urmare ad aug am regula


B B

= e (2.12)
Unicand membrul st ang al lui (2.12) cu subtermenul AB din membrul st ang al lui (2.4) si calcul and
formele normale obt inem
(A A

) C
2.4
=A (A

C)
(A A

) C
2.12
= e C
2.2
= C
prin urmare ad aug am regula
A (A

C) = C (2.13)
86 CHAPTER 2. RESCRIERI
Unicand membrul st ang al lui (2.4) cu membrul st ang al lui (2.12) si calcul and formele normale
obt inem
(A B) (A B)

2.4
=A (B (A B)

)
(A B) (A B)

2.12
= e
prin urmare ad aug am regula
A (B (A B)

) = e (2.14)
Mai tarziu vom observa ca aceast a regul a este superua.
Unicand membrul st ang al lui (2.14) cu subtermenul AC din membrul st ang al lui (2.5) si calcul and
formele normale obt inem
A

(A (B (A B)

))
2.14
=A

e
2.9
= A

(A (B (A B)

))
2.5
= B (A B)

prin urmare ad aug am regula


B (A B)

= A

(2.15)
Mai tarziu vom observa ca aceast a regul a este superua.

In acest moment regula (2.14) poate eliminat a deoarece


A (B (A B)

)
2.15
= A A

2.12
=e
Lucram n continuare cu regulile (2.2, 2.3, 2.4, 2.5, 2.9, 2.10, 2.11, 2.12, 2.13 si 2.15).
Unicand membrul st ang al lui (2.15) cu subtermenul AC din membrul st ang al lui (2.5) si calcul and
formele normale obt inem
B

(B (A B)

)
2.15
= B

(B (A B)

)
2.5
= (A B)

prin urmare ad aug am regula


(A B)

= B

(2.16)

In acest moment regula (2.15) poate eliminat a deoarece


B (A B)

2.16
= B (B

)
2.13
= A

Regulile r amase (2.2, 2.3, 2.4, 2.5, 2.9, 2.10, 2.11, 2.12, 2.13 si 2.16) coincid cu programul prezentat n
sect iunea 2.11.2.
Despre problema punerii celor dou a expresii n membrul st ang, respectiv drept, al noilor ecuat ii am
putea spune ca am plasat expresia mai complexa n membrul st ang pentru ca regula s a conduca de la
complex la simplu. Dar oare ce nseamna mai simplu sau mai complex?
De fapt le-am pus ca n programul din sect iunea 2.11.2 ca s a d am din nou peste el. Dar nici acesta nu
este un criteriu, deoarece procedura are chiar rolul de a crea un program pe care nu-l cunoastem.
Singura motivat ie corect a este ca alegerea este facuta pentru ca regula creat a s a verice condit ia
necesara pentru demonstrarea terminarii, fapt dat de funct ia si relat ia > pentru numere naturale.
2.11. TERMINAREA SI PROCEDURA KNUTH-BENDIX 87
Procedura Knuth-Bendix, varianta redusa
Toate ecuat iile utilizate n aceasta sect iune sunt necondit ionate.
Procedura Knuth-Bendix se aplic a unei specicat ii ecuat ionale E. Vom prezenta la nceput, din motive
didactice, o varianta incompleta.
Procedura lucreaz a cu o mult ime de ecuat ii si o mult ime de reguli. Init ial E
0
= E si
0
= .
La ecare pas se alege o ecuat ie care la terminarea pasului se va elimina din mult imea ecuat iilor. Fiecare
termen al ecuat iei se aduce la o forma normala folosind mult imea regulilor. Vom considera dou a cazuri.
A) Daca cele dou a forme normale coincid pasul const a doar n eliminarea ecuat iei.
B) Daca cele dou a forme normale sunt diferite, ele vor alc atui o nou a regul a care se adaug a mult imii
regulilor. Din noua regul a si din noua mult ime de reguli se calculeaz a toate perechile critice posibile care
se adaug a la mult imea ecuat iilor.
Daca procedura se termina prin epuizarea mult imii ecuat iilor, mult imea nal a de reguli este local
conuenta si o specicat ie echivalenta cu cea init iala.
Observat ia 2.11.2 Dac a
1
, atunci
A

1

A

pentru orice algebr a A.


Demonstrat ie: Fie a
A

1
b.
Fie h : A B |= . Deoarece B |=
1
deducem h(a) = h(b). Deci a
A

b.
Pentru dou a mult imi de ecuat ii necondit ionate vom folosi notat ia

cu semnicat ia
u
T

(X)

v pentru orice (X)u



= v
1
Observat ia 2.11.3

Demonstrat ie: Fie (X)l



=
s
r . Fie h : T

(X) A |= . Deoarece A |= (X)l



=
s
r deducem
h
s
(l) = h
s
(r). Deci l
T

(X)

r.
Propozit ie 2.11.4 Dac a
1

, atunci
1) Orice -algebr a este
1
-algebr a si
2)
A

1

A

.
Demonstrat ie: 1) Presupunem A |= .
Fie (X)u

= v
1
si h : T

(X) A. Deoarece u
T

(X)

v si h : T

(X) A |= deducem
h(u) = h(v). Deci A |=
1
.
2) Presupunem n -algebra A ca a
A

1
d si probam ca a
A

d. Fie h : A M |= . Prin urmare


h : A M |=
1
, deci din a

1
d deducem h(a) = h(d).
Ment ion am utilitatea concluziei a doua. Pentru a demonstra egalitatea

1
este sucient sa
probam incluziunile

1
si
1

.
Observat ia 2.11.5 Dac a (w, v) este o pereche critic a pentru , atunci w

v.
Demonstrat ie: Presupunemw = u(r
1
) si v = u(c[r
2
]) unde (l
1
= c[d], r
1
) si (l
2
, r
2
) sunt reguli cu mult imi
de variabile disjuncte din si u = CGU(d, l
2
). Deoarece u(l
1
)

w si u(l
1
)

v din corectitudinea
relat iei

deducem w

v.
Propozit ie 2.11.6 Echivalent a semantic a asociat a reuniunii mult imii ecuat iilor cu mult imea regulilor este
un invariant al procedurii.
88 CHAPTER 2. RESCRIERI
Demonstrat ie: S a presupunem ca la nceputul pasului mult imea de ecuat ii este E {(X)l = r} cu
ecuat ia aleas a (X)l = r si mult imea de reguli . Fie l

forma normala a lui l si r

forma normala a lui r.

In cazul A) l

r implic a l
E
r, prin urmare din corectitudinea relat iei
E
deducem l
E
r.
Prin urmare E {(X)l = r}
E
deci din propozit ia 2.11.4 deducem
E{(X)l=r}

E
.
Incluziunea contrar a ind evidenta obt inem concluzia.
Trecem la cazul B). Fie P mult imea perechilor critice dintre l


= r

si {l


= r

}. Din observat ia
2.11.5 deducem P
{l


=r

}
.
Din l

si r

deducem l

si r

. Folosind l
(X)l

=r
r si l

(X)l


=r

deducem
l
(X)l


=r

r si l

(X)l

=r
r

, prin urmare
l
EP(X)l


=r

r si l

E(X)l

=r
r

.
Din l

(X)l

=r
r

deducem (X)l


= r


(X)l

=r
, asadar
(X)l


=r


(X)l

=r
, deci
P
E(X)l

=r
.
Din cele de mai sus deducem
E P (X)l


= r


E(X)l

=r
si
E (X)l

= r
EP(X)l


=r

,
deci

E(X)l

=r
=
EP(X)l


=r

.
Propozit ie 2.11.7 Dac a procedura se termin a, mult imea nal a de reguli genereaz a o rescrire local con-
uent a.
Demonstrat ie:
Observ am ca pe parcursul algoritmului mult imea regulilor devine din ce n ce mai mare, far a a scoase
reguli din aceast a mult ime. Prin urmare orice rescriere posibil a ntr-un anumit moment al algoritmului
r am ane posibil a p an a la terminarea algoritmului.
Conform teoremei 2.10.6 este sucient s a probam ca mult imea perechilor critice este inclusa n relat ia
de ntalnire prin rescriere.
Fie (a, b) o pereche critic a pentru mult imea nal a de reguli. Din pasul B al algoritmului rezult a ca
perechea critic a (a, b) este ad augat a mult imii ecuat iilor. Pentru ca ecuat ia a

= b s a dispara din mult imea
ecuat iilor se calculeaz a fn(a) forma normala a lui a si fn(b) forma normala a lui b. Daca fn(a) = fn(b)
rezult a ca a si b se ntalnesc prin rescriere.

In caz contrar se adaug a noua regul a fn(a)

= fn(b) sau
fn(a)

= fn(b) ceea ce face ca a si b s a se ntalneasc a prin rescriere.
Pentru a obt ine concluzia este sucient s a mai aplic am teorema 2.10.6 a perechilor critice pentru cazul
ecuat ional.
Procedura Knuth-Bendix
Forma complet a a procedurii Knuth-Bendix se obt ine folosind un criteriu care s a asigure terminarea pro-
gramului nal. G asirea acestui criteriu este o problema dicil a. Ipoteza care accept a acest criteriu este
partea slab a a acestei proceduri.
Criteriul este folosit numai n cazul B al procedurii n momentul ad aug arii unei noi reguli. Cele dou a
forme normale diferite pot forma o regul a n dou a moduri diferite. Criteriul este folosit numai pentru
alegerea uneia dintre cele dou a variante. Daca criteriul nu poate alege, atunci procedura se blocheaz a.
2.11. TERMINAREA SI PROCEDURA KNUTH-BENDIX 89
Dup a cum am vazut mai sus procedura lucreaz a numai cu termeni, prin urmare criterul se refera numai
la algebra T

(X) a termenilor.
Criteriul A: exista o relat ie de ordine compatibila cu structura algebric a, a carei varianta strict a este
bine fondata.
Criteriul B: exista o relat ie bine fondata pe o mult ime M si o funct ie : A M cu proprietatea
pentru orice n 1 si
s
1
s
2
...sn,s
,
(a) (d) si (A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
)) = (A

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
)) implic a
(A

(a
1
, . . . , a
i1
, a, a
i+1
, . . . , a
n
)) (A

(a
1
, . . . , a
i1
, d, a
i+1
, . . . , a
n
)),
Aplicarea criteriului la alegerea regulilor face posibil a aplicarea teoremei 2.11.1 programului nal. Se
observ a deci ca programul nal se termina.
90 CHAPTER 2. RESCRIERI
Chapter 3
PROGRAMARE LOGIC

A
ECUATIONAL

A
3.1 IN PRIMUL RAND SEMANTICA
Reamintim cateva concepte introduse n capitolul precedent pe care le vom folosi n continuare.
Fix am o signatura multisortata (S, ).
O ecuat ie condit ionat a este
(X)l

=
s
r if H
unde X este o mult ime S-sortata de variabile, l si r sunt dou a elemente de sort s din T

(X) iar H o
mult ime nit a de egalitat i formale din Sen(T

(X)) = T

(X) T

(X).
Algebra D satisface ecuat ia condit ionat a (X)l

=
s
r if H, fapt notat prin
D |=

(X)l

=
s
r if H
dac a pentru orice morsm h : T

(X) D pentru care h


t
(u) = h
t
(v) pentru orice u

=
t
v H, are loc
egalitatea h
s
(l) = h
s
(r).

In continuare xam o mult ime de ecuat ii condit ionate, numite axiome sau clauze.
Spunem ca algebra D satisface sau c a D e o -algebr a si scriem D |= dac a D satisface toate ecuat iile
condit ionate din .
Vom lucra ntr-o -algebra A.
Congruent a semantica

a lui A, notat a si
A

atunci cand este pericol de confuzie, a fost denita prin


a

c dac a si numai dac a (h : A M |= )h


s
(a) = h
s
(c).
Fie G Sen(T

(X)) o mult ime de egalitat i formale din T

(X). Reamintim ca
|= (X)G
dac a si numai dac a orice algebra satisface (X)G, adic a h
s
(u) = h
s
(v) pentru orice morsm
h : T

(X) M |= si orice u

=
s
t G.
Observat ia 3.1.1 |= (X)G dac a si numai dac a G
T

(X)

.
Demonstrat ie: |= (X)G este succesiv echivalent cu
- pentru orice algebra M dac a M |= , atunci M |= (X)G
- pentru orice algebra M care satisface si pentru orice morsm h : T

(X) M are loc egalitatea


h
s
(u) = h
s
(v) pentru orice u

=
s
v din G,
- u

v oricare ar u

=
s
v G,
- G
T

(X)

.
91
92 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
Propozit ie 3.1.1 Fie h : A B un -morsm. Dac a a
A

c, atunci h(a)
B

h(c).
Demonstrat ie: Fie a
A

b. Vrem s a ar atam ca h(a)


B

h(b).
Fie f : B M|= . Cum h; f : A M|= si a
A

b, rezult a ca (h; f)(a) = (h; f)(b), echivalent cu


f(h(a)) = f(h(b)). Cum f a fost ales arbitrar, rezult a ca h(a)
B

h(b).
Aceasta propozit ie arat a de fapt corectitudinea regulii logicii ecuat ionale globale: dac a h : A B
este un morsm de -algebre, atunci (A)a

=
s
a

implic a (B)h
s
(a)

=
s
h
s
(a

).
Corolar 3.1.1 Dac a |= (X)G si h : T

(X) T

(Y ) este un -morsm, atunci |= (Y )h(G).


Demonstrat ie: Din ipoteza, conform observat iei, deducem ca G
T

(X)

. Aplicand Propozit ia 3.1.1,


deducem h(G)
T

(Y )

, deci conform observat iei |= (Y )h(G).


Fie A

factorizarea lui A prin congruent a sa semantica

si
A
: A A

morsmul de factorizare.
Reamintim principalele proprietat i ale acestei algebre
A

|=
Pentru orice -algebra B si pentru orice morsm h : A B exista si este unic un morsm h
#
: A

B
astfel nc at
A
; h
#
= h.
Daca A este -algebra init iala, atunci A

este -algebra init iala.


3.2 TEOREMELE LUI HERBRAND
3.2.1 Introducere
Morsmele de algebre se extind natural pentru perechi de elemente sau egalitat ii formale si pentru mult imi
de perechi de elemente sau mult imi de egalitat ii formale. Daca h : A B este un morsm, atunci
pentru orice a, b A prin denit ie h((a, b)) = (h(a), h(b)) sau h
s
(a

=
s
b) = (h
s
(a)

=
s
h
s
(b)). De asemenea
n locul notat iei h
s
(a) = h
s
(b) vom mai utiliza h
s
((a, b))
B
.
Daca G este o mult ime de egalitat i formale din A prin denit ie
h(G) = {h
s
(a)

=
s
h
s
(b) : a

=
s
b G}.
In plus h(G)
B
nseamna h
s
(a) = h
s
(b) pentru orice a

=
s
b G.
Programarea logica ecuat ional a se ocup a de rezolvarea unui sistem nit de ecuat ii format din egalitat i
formale n care variabilele sunt privite ca necunoscute. De aici provine si denumirea de ecuat ii folosita nc a
din capitolele precedente. De fapt rezolvarea unui astfel de sistem a fost facut a n algebra liber a din care
sunt termenii ecuat iilor asa cum a fost prezentat n subcapitolul 2.6 privind unicarea.
Se caut a solut ii n anumite algebre D. Adica pentru o astfel de algebr a D se caut a valori date
variabilelor n D pentru care egalitat ile formale devin egalitat i adev arate n D. Urmeaza formalizarea celor
de mai sus.
Notam cu T

= T

() -algebra init iala (adic a obiectul init ial n categoria -algebrelor) si cu T


,
-algebra init iala (adic a obiectul init ial n categoria -algebrelor, subcategorie a categoriei -algebrelor).
Denit ia 3.2.1 Fie A o -algebr a si G o mult ime de egalit at i formale ntre elemente din T

(X).
A |= (X)G dac a exist a morsmul h : T

(X) A astfel nc at h
s
(l) = h
s
(r) pentru orice l

=
s
r.
Not am |= (X)G dac a A |= (X)G pentru orice -algebr a A.
Programarea logica ecuat ional a isi pune urmatoarea problema |= (X)G.
Teoremele lui Herbrand se refera la posibilitatea rezolv arii acestor ecuat ii n toate -algebrele.
3.2. TEOREMELE LUI HERBRAND 93
3.2.2 Teoremele lui Herbrand

In literatura de specialitate se gasesc dou a teoreme ale lui Herbrand. Teorema care urmeaza combin a cele
dou a teoreme ntr-una singura.
Teorema 3.2.2 Fie G o mult ime de egalit at i formale ntre elemente din T

(X). Urm atoarele armat ii


sunt echivalente:
1. |= (X)G ;
2. T
,
|= (X)G ;
3. Exist a : T

(X) T

astfel nc at |= ()(G).
Demonstrat ie: (1) (2) este evident a, deoarece T
,
este o -algebra.
(2) (3) Conform ipotezei, exista morsmul h : T

(X) T
,
astfel nc at h
s
(l) = h
s
(r) pentru orice
l

=
s
r G. Pentru ca T

(X) este algebr a liber a si deci proiectiva conform propozit iei 1.7.2, deoarece
morsmul
T

este surjectiv pe componente exista morsmul : T

(X) T

astfel nc at ;
T

= h.
T

(X) T

T
,

h
T

Figure 3.1: Proiectivitatea -algebrei T

(X)
Prin urmare
T

((l)) =
T

((r)) pentru orice l



= r G. Deoarece : T

T
,
este morsmul
de factorizare al algebrei T

la congruent a semantica

deducem ca (l)

(r) pentru orice l



= r G,
adic a (G)
T

. Din observat ia 3.1.1 deducem |= ()(G).


(3) (1) Fie M o -algebra. Avem de ar atat ca M |= (X)G.
Notam cu
M
: T

M unicul morsm existent ntre cele dou a algebre. Aratam ca morsmul


;
M
: T

(X) M
este solut ie, adic a
M
((l)) =
M
((r)), pentru orice l

= r G.
Deoarece M |= , din ipoteza rezult a ca M |= ()(G). Utilizand n denit ia satisfacerii mor-
smul
M
: T

M deducem ca
M
((l)) =
M
((r)) pentru orice l

= r G, prin urmare
(;
M
)(l) = (;
M
)(r), pentru orice l

= r G.
Deci M |= (X)G si demonstrat ia se ncheie.
Prima echivalent a a teoremei arat a ca problema programarii logice se reduce la rezolvarea ei n -algebra
init iala T
,
, pas deosebit de mare deoarece n loc de o clas a de algebre lucr am numai cu o algebr a.
A treia armat ie din teorem a ne arat a ca rezolvarea problemei se poate face utiliz and numai algebre
libere. Ea face legatura cu programarea prin rescriere si cu conceptul de solut ie.
A treia armat ie mai arat a ca pentru existent a solut iei n T

este necesar ca suporturile din -algebra


init iala T

, corespunzatoare sorturilor variabilelor cuanticate existent ial, s a e nevide.


Exercit iu. Data signatura , s a se determine mult imea sorturilor pentru care suportul corespunzator
din T

este nevid.
94 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
Din a treia armat ie a teoremei lui Herbrand se mai vede ca solut ia : T

(X) T

se caut a ntr-o
subalgebra T

a algebrei T

(X) n care este pusa problema (X)G. Chiar dac a n T

nu mai apare nici


o variabil a, acest fapt este neglijat n practic a. S a presupunem ca avem de rezolvat ecuat ia x = f(y)
unde evident X = {x, y}. Solut ia este dat a chiar de aceast a ecuat ie, adic a n T

({y}) chiar dac a suportul


corespunzator sortului lui y este vid n T

.

In continuare ne vor interesa si astfel de solut ii, chiar dac a
ecuat ia x = f(y) are solut ie numai n algebrele n care suportul corespunzator sortului lui y este nevid.
3.3 REGULILE PROGRAM

ARII LOGICE

In continuare vom considera o mult ime de ecuat ii condit ionate si G o mult ime nit a de ecuat ii, egalitat i
formale, din T

(X). Problema program arii logice este |= (X)G.


3.3.1 Solut ii
Revenim asupra conceptului de solut ie deoarece n cele ce urmeaza vom utiliza o varianta put in modicat a,
fapt datorat contextului n care suntem: solut iile se caut an algebre. Comentariile urmatoare se bazeaz a
pe diagrama comutativa din gura 3.2. Observ am ca:
1. Dat morsmul f, morsmul s este chiar compunerea lui f cu
T

(Y )
.
2. Dat morsmul s existent a morsmului f care face diagrama comutativa rezult a din proiectivitatea
-algebrei libere T

(X).
T

(X) T

(Y )
T

(Y )

f
s
T

(Y )
Figure 3.2: Folosind proiectivitatea -algebrei T

(X)
Propozit ie 3.3.1 Cu notat iile din gura 3.2 urm atoarele armat ii sunt echivalente
1. s
t
(u) = s
t
(v) pentru orice u

=
t
v G
2. f
t
(u)

f
t
(v) pentru orice u

=
t
v G
Demonstrat ie: Egalitatea s
t
(u) = s
t
(v) este, datorit a comutativitatii diagramei, echivalenta cu

(Y )
(f
t
(u)) =
T

(Y )
(f
t
(v)), adic a cu f
t
(u)

f
t
(v) deoarece dou a elemente sunt egalate de surject ia
naturala
T

(Y )
dac a si numai dac a sunt echivalente semantic.
Prima condit ie spune ca s este solut ie pentru (X)G n T

(Y )

. Vom prefera s a folosim pentru


conceptul de solut ie a doua condit ie din propozit ia de mai sus, fapt ce conduce la urmatoarea denit ie n
care facem o generalizare nlocuind algebra liber a T

(Y ) cu o algebr a.
Denit ie 3.3.1 -morsmul f : T

(X) A se numeste solut ie pentru (X)G dac a f(G)


A

.
Observat ia 3.3.2 Dac a este o mult ime de egalit at i adev arate din T

(X), atunci identitatea lui T

(X)
este solut ie pentru (X).
3.3. REGULILE PROGRAM

ARII LOGICE 95
Demonstrat ie: 1
T

(X)
()
T

(X)

T

(X)

.
Observat ia 3.3.3 Un -morsm f : T

(X) A este solut ie solut ie pentru (X)G dac a |= (A)f(G),


adic a pentru orice morsm h : A M |=

, h(f(l)) = h(f(r)) pentru orice l



= r G.
Demonstrat ie: Este sucient s a folosim denit ia congruent ei semantice. Vezi si demonstrat ia observat iei
3.1.1
Propozit ie 3.3.1 Compunerea unei solut ii cu orice -morsm este solut ie.
Demonstrat ie: Fie s : T

(X) T

(Y ) o solut ie pentru (X)G si h : T

(Y ) T

(Z) un morsm.
Vrem s a ar atam ca s; h : T

(X) T

(Z) este solut ie pentru (X)G, adic a |= (Z)(s; h)(G).


Deoarece s : T

(X) T

(Y ) este solut ie pentru (X)G, atunci |= (Y )s(G). Corolarul 3.1.1


implic a |= (Z)h(s(G)).
Deci |= (Z)(s; h)(G) si astfel s; h este solut ie pentru (X)G.
Din propozit ia precedenta rezult a ca dac a avem o solut ie, atunci aceasta nu este unic a. Acest fapt ne
ndeamna s a caut am o solut ie cat mai general a.

In general, solut iile sunt construite n mai multe etape, ap ar and n nal ca o compunere de morsme.
Morsmele care apar n procesul de calcul si care, sper am, ca n nal s a furnizeze o solut ie sunt numite
morsme calculate.
3.3.2 Reguli de deduct ie
Fie A o -algebra si o nou a variabil a de sort s astfel nc at / A
s
. Consideram algebra liber generat a de
A {}, notat a T

(A {}). Un element c din T

(A {}) se numeste context dac a num arul aparit iilor


lui n c este 1. Pentru d A
s
, vom nota cu ( d) : T

(A{}) A unicul morsm cu proprietatea


( d)() = d si ( d)(a) = a, pentru orice a A. Pentru orice t din T

(A {}) si a A
s
, vom
prefera s a scriem t[a], n loc de ( a)(t).
Datorita faptului ca regulile programarii logice lucreaz a pe mult imi de egalitat i formale, vom deni
not iunea de context extins. Fie A o algebra, c T

(A{})
s
un context si v A
s
. O egalitate formala
de forma c

=
s
v sau v

=
s
c se numeste context extins. Un context extins c

=
s
v (respectiv v

=
s
c) va
notat cu C. S a observ am ca
(c

=
s
v)[a] = ( a)(c

=
s
v) = (c[a]

=
s
c[v]) = (c[a]

=
s
v).
Orice morsm h : A B se poate extinde, n mod unic, la un morsm h

: T

(A{}) T

(B{})
prin h

() = si h

(a) = h(a), pentru orice a A. Pentru orice a A, avem ( a); h = h

; ( h(a)).
Pentru un context c T

(A {}) deducem ca h(c[a]) = h

(c)[h(a)], unde h

(c) este context.


Pentru C un context extins, se observ a ca h

(C) este un context extins si ca


h(C[a]) = h

(C)[h(a)].

In continuare vom prezenta regulile de deduct ie folosite n programarea logica. Aceste reguli ne permit s a
trecem de la o mult ime G de egalitat i formale la o alta mult ime G

de egalitat i formale, obt in and si un


morsm calculat. Aplicarea acestor reguli va nceta n momentul n care ajungem la o mult ime de egalitat i
adevarate, n particular la mult imea vida.

In acest moment, putem compune toate morsmele calculate
gasite, n ordinea aparit iei lor, si astfel vom obt ine o solut ie pentru problema init iala. Aceasta armat ie
va probata mai tarziu n ipoteza ca toate regulile de deduct ie utilizate sunt corecte.
Ment ion am n continuare mai multe reguli de deduct ie utile n programarea logica.
96 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
Regula morsmului: Dac a G Sen(T

(X)) si : T

(X) T

(Y ), atunci
G
m
(G),
cu morsmul calculat .
Regula reexiei extinse: Dac a G Sen(T

(X)) si : T

(X) T

(Y ) astfel nc at
s
(l) =
s
(r),
atunci
G {l

=
s
r}
re
(G),
cu morsmul calculat .
Regula reexiei: Dac a G Sen(T

(X)) si : T

(X) T

(Y ) astfel nc at = CGU{l, r}, atunci


G {l

=
s
r}
r
(G),
cu morsmul calculat .
Observ am c a regula reexiei permite eliminarea din sistem a egalit at ilor adev arate, caz n care morsmul
calculat este o identitate.
Regula pararescrierii: Fie G Sen(T

(X)), (Y )l

=
s
r if H si morsmul : T

(Y ) T

(X).
Dac a C este un context extins cu variabila distins a de sort s, atunci
G {C[
s
(l)]}
pr
G (H) {C[
s
(r)]}.
Ment ion am ca pentru pararescriere, morsmul calculat este morsmul identitate.
Regula paramodulat iei extinse: Fie (Y )l

=
s
r if H . Consider am X astfel nc at X Y = ,
G Sen(T

(X)) si morsmul : T

(X Y ) T

(Z) astfel nc at
s
(l) =
s
(a), unde a T

(X)
s
. Dac a
C este un context extins cu variabila distins a de sort s, atunci
G {C[a]}
pe
(G H {C[r]}),
cu morsmul calculat
/
X
, restrict ia lui la T

(X).
Regula paramodulat iei: Fie (Y )l

=
s
r if H . Consider am X astfel nc at X Y = ,
G Sen(T

(X)) si morsmul : T

(X Y ) T

(Z) astfel nc at = CGU{l, a}, unde a T

(X)
s
.
Dac a C este un context extins cu variabila distins a de sort s, atunci
G {C[a]}
p
(G H {C[r]}),
cu morsmul calculat
/
X
, restrict ia lui la T

(X).
Comentariu Dorint a exprimat a mai sus de a obt ine o solut ie cat mai general a face ca regulile de deduct ie
utilizate de semantica operat ional a a programarii logice s a e mai restrictive. Mai precis reexia este reexia
extinsa cu condit ia suplimentar a ca s a e cel mai general unicator pentru l si r, iar paramodulat ia este
paramodulat ia extinsan care este cel mai general unicator pentru l si a. Conform uzant elor presupunem
X Y = , fapt posibil datorit a cuantic arii universale a clauzei care ne permite s a alegem variabile noi
n locul celor din Y ori de cate ori este necesar.
Nu recomandam utilizarea variantei extinse a regulilor si nici a regulii morsmului deoarece ele pot
conduce la pierderea part iala a generalit at ii solut iei. Aceste regulile au un rol teoretic.
3.4. CORECTITUDINEA REGULILOR PROGRAM

ARII LOGICE 97
3.4 CORECTITUDINEA REGULILOR PROGRAM

ARII LOGICE
Denit ie 3.4.1 Fie R o regul a de deduct ie. S a presupunem c a aplic and regula R obt inem G
R
G

cu
morsmul calculat : T

(X) T

(Y ). Spunem c a regula R este o regul a corect a dac a este ndeplinit a


urm atoarea condit ie: dac a s este o solut ie pentru (Y )G

, atunci ; s este solut ie pentru (X)G.


Observ am ca aplicarea unei reguli corecte G
R
G

reduce problema gasirii unei solut ii pentru (X)G


la gasirea unei solut ii pentru (Y )G

.
Daca se aplic a numai reguli corecte ajungandu-se, n nal la o mult ime formata doar din egalitat i
adevarate, n particular la mult imea vida de ecuat ii, atunci compunerea tuturor morsmelor calculate este
o solut ie a problemei init iale. Aceasta armat ie rezult a din faptul ca morsmul identitate este solut ie
pentru orice mult ime de egalitat i adevarate, inclusiv mult imea vida.

In continuare vom ar ata ca regulile de deduct ie considerate n sect iunile anterioare sunt corecte.
Deoarece |= (X)l

=
s
l, orice solut ie pentru G este solut ie si pentru G {l

=
s
l}. Prin urmare
eliminarea egalit at ilor adev arate este o regul a corect a.
Propozit ie 3.4.1 Regula morsmului este corect a.
Demonstrat ie: Presupunem ca G
m
(G), unde : T

(X) T

(Y ). Fie s : T

(Y ) T

(Z) o
solut ie pentru (Y )(G), adic a |= (Z)s((G)). Trebuie s a ar atam ca ; s este solut ie pentru G, adic a
|= (Z)(; s)(G), ceea ce este evident.
Propozit ie 3.4.2 Regula reexiei extinse este corect a.
Demonstrat ie: Observ am ca regula reexiei extinse se poate obt ine din regula morsmului si eliminarea
egalitat ilor adevarate. Cum regula morsmului si eliminarea egalitat ilor adevarate sunt corecte, rezult a ca
si regula reexiei extinse este corect a.
Corolar 3.4.1 Regula reexiei este corect a.
Reamintim ca S : T

(X) B este solut ie pentru (X)G dac a si numai dac a S(G)


B

.
Propozit ie 3.4.1 Regula pararescrierii este corect a.
Demonstrat ie: Consideram pararescrierea
G C[
s
(l)]
pr
G (H) {C[
s
(r)]},
unde (Y )l

=
s
r if H si : T

(Y ) T

(X) un -morsm.
Fie S : T

(X) B o solut ie pentru (X)G (H) {C[


s
(r)]}, prin urmare
S(G (H) {C[
s
(r)]})
B

. (1)
Trebuie s a ar atam ca S : T

(X) B este solut ie pentru (X)(G C[


s
(l)]), adic a
S(G {C[
s
(l)]})
B

.
Deoarece S(G)
B

rezult a direct din (1) mai avem de ar atat ca S(C[


s
(l)])
B

.
Fie h : B M |= . Din (1) folosind morsmul S; h : T

(X) M |= deducem
(S; h)(G) (; S; h)(H) {(S; h)(C[
s
(r)])}
M
.
Prin urmare:
98 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
(; S; h)(H)
M
, (2)
(S; h)(C[
s
(r)])
M
. (3)
Deoarece M |= (Y )l

=
s
r if H, folosind morsmul ; S; h : T

(Y ) M si relat ia (2), deducem ca


(; S; h)
s
(l) = (; S; h)
s
(r). (4)
Observ am ca
h(S(C[
s
(l)])) = (S; h)(C[
s
(l)]) = (S; h)

(C)[(S; h)(
s
(l))] = (S; h)

(C)[(
s
; S; h)(l)] =
= (S; h)

(C)[(
s
; S; h)(r)] = (S; h)

(C)[(S; h)(
s
(r))] = (S; h)(C[
s
(r)]).
Din (3) deducem ca h(S(C[
s
(l)]))
M
.
Deci S(C[
s
(l)])
B

.
Propozit ie 3.4.3 Regula paramodulat iei extinse se poate obt ine din regula morsmului si regula pararescrierii.
Demonstrat ie: Fie (Y )l

=
s
r if H , : T

(X Y ) T

(Z) astfel nc at
s
(l) =
s
(a), unde
a T

(X)
s
. Fie C un context extins si o variabil a nou a. Aplicand regula morsmului pentru morsmul
, obt inem:
G {C[a]}
m
(G) {(C[a])}.
Ment ion am urmatoarele egalitat i:
(C[a]) =

(C)[(a)] =

(C)[(l)].
Acum putem aplica regula pararescrierii si obt inem:
(G) {

(C)[(l)]}
pr
(G) (H) {

(C)[(r)]} = (G H {C[r]}).
Deci G {C[a]}
m
(G) {

(C)[(l)]}
pr
(G H {C[r]}).
Propozit ie 3.4.4 Regula paramodulat iei extinse este corect a.
Demonstrat ie: Din Propozit ia 3.4.3 stim ca orice paramodulat ie extinsa se poate obt ine din regula mor-
smului si regula pararescrierii. Din Propozit iile 3.4.1 si 3.4.1 stim ca regulile morsmului si pararescrierii
sunt corecte, de unde rezulta ca si regula paramodulat iei extinse este corect a.
Corolar 3.4.2 Regula paramodulat iei este corect a.
3.5 COMPLETITUDINEA PARAMODULATIEI
3.5.1 Legaturi ntre regulile de deduct ie

In continuare vom prezenta alte legaturi dintre regulile de deduct ie pentru programarea logica.

In primul r and, este evident ca regula reexiei si regula paramodulat iei sunt cazuri particulare ale
regulilor reexiei extinse si, respectiv, paramodulat iei extinse (caz particular n care cerem ca morsmul
implicat n regul a s a e un cel mai general unicator, nu doar un -morsm).
Observ am ca
G {l =
s
r}
m
(G) {
s
(l)

=
s
(r)},
cu morsmul calculat , ceea ce arat a ca regula morsmului si eliminarea egalitat ilor evidente permit
eliminarea regulii reexiei extinse dintre regulile de lucru.
3.5. COMPLETITUDINEA PARAMODULATIEI 99
Propozit ie 3.5.1 Pararescrierea este un caz particular de paramodulat ie extins a.
Demonstrat ie: Consideram pararescrierea
G {C[h
s
(l)]}
pr
G h(H) {C[h
s
(r)]},
unde (Y )l

=
s
r if H si h : T

(Y ) T

(X) este un -morsm (presupunem X Y = ).


S a consideram -morsmul : T

(X Y ) T

(X) denit prin:


1. (y) = h(y), pentru orice y Y ,
2. (x) = x, pentru orice x X.
Observ am ca (t) = t, pentru orice t T

(X) si (u) = h(u), pentru orice u T

(Y ).
Deoarece Geste o mult ime de egalitat i formale din Sen(T

(X)), rezult a ca
s
(u =
s
v) = (
s
(u) =
s

s
(v)) =
(u =
s
v), pentru orice u =
s
v G.

In concluzie, putem scrie (G) = G.
Similar, H este o mult ime de egalitat i formale din Sen(T

(Y )) si astfel avem
s
(u =
s
v) = (
s
(u) =
s

s
(v)) =
(h
s
(u) =
s
h
s
(v)), pentru orice u =
s
v H.

In concluzie, putem scrie (H) = h(H).
De asemenea, contextul extins C este o egalitate formala din Sen(T

(X{})) si astfel avem

(C) = C.
Luam a = h
s
(l). Observ am ca
s
(r) = h
s
(r) si
s
(a) =
s
(h
s
(l)) = h
s
(l) =
s
(l), deoarece l, r T

(Y ).
Putem aplica regula paramodulat iei extinse pentru (Y )l =
s
r if H si : T

(X Y ) T

(X)
astfel obt in and:
G {C[h
s
(l)]} = G {C[a]}
pe
(G H {C[r]}) = (G) (H) (C[r]) =
= G h(H)

(C)[
s
(r)] = G h(H) C[h
s
(r)].
Morsmul calculat
/
X
este identitatea lui T

(X).
Propozit ie 3.5.2 Dac a pentru orice clauz a (Y )l

=
s
r if H din , orice variabil a din Y apare n l, atunci
pararescrierea este un caz particular de paramodulat ie n care substitut ia calculat a este o identitate.
Demonstrat ie: P astr am notat iile si demonstrat ia din propozit ia precedenta. Vom proba, n plus, ca
este cel mai general unicator pentru l si a.
Fie u : T

(X Y ) T

(Z) un unicator pentru l si a. Deoarece u


s
(l) = u
s
(a) = u
s
(h
s
(l)) rezult a ca
u(y) = u(h(y)) pentru orice variabil a y care apare n l. Deoarece orice variabil a din Y apare n l, deducem
ca u(y) = u(h(y)), pentru orice y Y .
Notam cu u
|
X
restrict ia lui u la T

(X). Evident u
|
X
(t) = u(t), pentru orice t T

(X).
Observ am ca ; u
|
X
= u: pentru orice x X, u
|
X
((x)) = u
|
X
(x) = u(x), si pentru orice y Y ,
u
|
X
((y)) = u
|
X
(h(y)) = u(h(y)) = u(y).
Deci este cel mai general unicator pentru l si a deoarece u = ; u
|
X
.
Lema 3.5.1 Dac a (Y )t

=
s
t , atunci G
p
(x t)(G), unde x este o variabil a care apare n G si
nu apare n t.
Demonstrat ie: Alegem o aparit ie a lui x n G si scriem G = G

{C[x]}, unde C este un context extins.


Aplicand regula paramodulat iei pentru (Y )t =
s
t , a = x, = CGU{a, l} = CGU{x, t} = x t,
obt inem:
G = G

C[x]
p
(x t)(G

C[t]) = (x t)(G

) (x t)(C[x]) = (x t)(G).
100 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
Penultima egalitate este adevarat a deoarece x nu apare n t.
Ipoteza x apare n G nu este esent iala deoarece, dac a x nu apare n G, (x t)(G) = G si prin urmare
(x t)(G) se obt ine din Gn 0 pasi.
Lema 3.5.2 (Lema substitut iei) Dac a sunt ndeplinite urm atoarele condit ii: G este o mult ime nit a,
(x)x

= x pentru orice variabil a x, (x
1
x
2
. . . x
n
)f(x
1
, x
2
, . . . , x
n
)

= f(x
1
, x
2
, . . . , x
n
) pentru
orice simbol de operat ie f, atunci regula morsmului poate realizat a prin regula paramodulat iei.
Demonstrat ie Primele dou a armat ii care urmeaza dovedesc ca axiomele lemei substitut iei, mai s arace
dec at cele ale lemei 3.5.1, sunt suciente pentru a demonstra concluzia lemei 3.5.1:
1. Substitut ia unei variabile x cu o variabila y poate realizata prin regula paramodulat iei
n prezent a axiomei (y)y

= y.

In cazul n care x apare n G si x = y se aplica Lema 3.5.1.



In rest, evident.
2. Aratam c a substitut ia unei variabile cu un termen poate realizata prin paramodulat ie
n prezent a axiomelor (x)x

= x si (x
1
x
2
. . . x
n
)f(x
1
, x
2
, . . . , x
n
)

= f(x
1
, x
2
, . . . , x
n
).
Vom demonstra acest lucru prin induct ie dupa structura termenului t.
Primul pas al induct iei este chiar (1).
Presupunem ca t = f(t
1
, t
2
, . . . , t
n
).
Daca x nu apare n G, atunci nu avem nimic de demonstrat. Presupunem ca x apare n G si folosind
(x
1
x
2
. . . x
n
)f(x
1
, x
2
, . . . , x
n
) =f(x
1
, x
2
, . . . , x
n
) , unde variabilele x
1
, . . . , x
n
sunt noi, si Lema 3.5.1
deducem
G
p
(x f(x
1
, x
2
, . . . , x
n
))(G).

In continuare se aplic a ipoteza de induct ie pentru orice 1 i n, substituind ecare x


i
cu t
i
.
Mai observ am ca
x f(x
1
, x
2
, . . . , x
n
) ; x
1
t
1
; x
2
t
2
; . . . ; x
n
t
n
= x f(t
1
, t
2
, . . . , t
n
),
deoarece variabilele x
1
, x
2
, . . . , x
n
sunt noi.
3. Aratam ca regula morsmului poate realizata prin regula paramodulat iei.
Fie h : T

(X) T

(Y ). Cum var(G) = {x
1
, x
2
, . . . , x
n
} X, a realiza regula morsmului revine la a
nlocui ecare variabil a x
i
cu h(x
i
). Putem realiza acest lucru conform punctelor (1) si (2):
- ntai nlocuim ecare variabil a x
i
cu o variabil a nou a z
i
, pentru orice 1 i n:
G
p
(x
1
z
1
)(G)
p
. . .
p
(x
n
z
n
)(. . . (x
1
z
1
)(G) . . .) = G

- acum nlocuim pentru ecare 1 i n, variabila z


i
cu h(x
i
):
G

p
(z
1
h(x
1
))(G)

p
. . .

p
(z
n
h(x
n
))(. . . (z
1
h(x
1
))(G) . . .) = h(G).
Observat ie.

In demonstrat ia anterioar a, la pasul (3), este extrem de important s a schimb am toate
variabilele x
i
cu variabile noi. Altfel am putea obt ine rezultate nedorite, ca n exemplul de mai jos:
Daca h : T

({x, y}) T

({x, y, z}), h(x) = z, h(y) = x si G = {x



= y}, atunci:
h(G) = (h(x)

= h(y)) = (z

= x),
(x h(x))((y h(y))(G)) = (x h(x))(x

= x) = (z

= z).
Deci h(G) = (x h(x))((y h(y))(G)).
Putem sintetiza legaturile gasite ntre regulile de deduct ie pentru programarea logica prin Figura 3.3.
3.5. COMPLETITUDINEA PARAMODULATIEI 101
Paramodulatie
Paramodulatie
extinsa
Pararescriere Morfism Reflexie
extinsa
Reflexie
Eliminarea
egalitatilor

-
+
-
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xz
Lema 3.5.2
6
var(l) = Y
Prop.3.5.2
Q
Q
Q
Q
Qs
Prop.3.5.1

9
Z
Z
Z
+

Prop.3.4.3
?
Figure 3.3: Leg aturile dintre regulile de deduct ie
3.5.2 Amintiri despre rescriere
Reamintim cateva fapte din sect iunea 2.3.4 privind rescrierile pe care le folosimn demonstrat ia urmatoare.
Lucram ntro algebra A.
O relat ie Q pe A se numet e nchisa la contexte dac a pentru orice context c si pentru orice pereche
de elemente a, d din A, a Qd implic a c[a] Qc[d].
Data o relat ie Q pe A, relat ia

Q
= {(c[a], c[d]) : (a, d) Q
s
, c T

(A ) este context unde variabila are sortul s}.


este cea mai mic a relat ie inchis a la contexte care include Q.
Notam u
Q
v dac a exista a A astfel nc at u

Q
a si v

Q
a.
Fix am .
Denim prin induct ie sirul cresc ator de mult imi de perechi de elemente din A.
Q
0
=
Q
n+1
= {(h(l), h(r)) : (Y )l =
s
r if H , h : T

(Y ) A, si ((u, v) H)h
s
(u)
Qn
h
s
(v)}
Prin denit ie Q este reuniunea sirului cresc ator denit mai sus.

In cazul n care Q este denita ca mai sus, n loc de


Q
vom prefera s a scriem

=

.
Relat ia

=

este denumit a rescriere sau mai scurt rescriere.


Fie

relat ia de ntalnire atasat a lui


. Prin denit ie a

b dac a si numai dac a exista c astfel nc at


a

c si b

c. Reamintim ca ntalnirea prin rescriere

este corect a pentru

, adic a

.
Teorema 3.5.1 Dac a

este conuent a, atunci

este complet a.
3.5.3 Prolog
Reamintim ca nseamna o mult ime de egalitat i adevarate.
Teorema 3.5.1 Dac a a

d, atunci {a =
s
d}

pr
.
Demonstrat ie: Presupunem a

d. Prin denit ie, exista v astfel nc at a


v si d

v. T in and cont
de denit ia lui

, putem scrie a

Q
v si d

Q
v. Deoarece Q este reuniunea sirului cresc ator {Q
n
}
nN
,
rezult a ca exista un num ar natural n cu proprietatea a

Qn
v si d

Qn
v, deci a
Qn
d.
Aratam prin induct ie dupa n ca {a

=
s
d}

pr
.
1. Pentru n = 0 observ am ca
Q
0
este vida si

Q
0
este relat ia de egalitate. Prin urmare a = d,
concluzia ind evidenta.
102 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
2. Presupunem, prin ipoteza de induct ie, ca pentru orice x, y dac a x
Qn
y, atunci {x

=
s
y}

pr
.
Presupunem ca a
Q
n+1
d.
Facem o nou a induct ie dupa num arul pasilor
Q
n+1
folosit i. Daca num arul pasilor este 0, atunci a = d,
concluzia ind evidenta.

In cazul contrar, presupunem, de exemplu, ca a


Q
n+1
w si w
Q
n+1
d cu un pas mai put in. Din
ipoteza de induct ie putem scrie {w

=
s
d}

pr
.
Deoarece a
Q
n+1
w exista (Y )l

=
s
r if H , morsmul h : T

(Y ) T

(X) astfel nc at
h(u)
Qn
h(v), pentru orice u

= v H, si contextul c n T

(X {}) astfel nc at a = c[h


s
(l)] si
w = c[h
s
(r)]. Observ am ca {c[h
s
(l)]

=
s
d}
pr
h(H) {c[h
s
(r)]

=
s
d} = h(H) {w

=
s
d}.
Prin urmare, deoarece {w

=
s
d}

pr
, deducem ca {a

=
s
d}

pr
h(H) . Deoarece h(u)
Qn
h(v),
pentru orice u

= v H, din ipoteza de induct ie deducem h(H)

pr
, deci {a

=
s
d}

pr
.
Corolar 3.5.1 Dac a G este o mult ime nit a astfel nc at G

, atunci G

pr
.
3.5.4 Completitudinea
Observ am ca identitatea lui T

(Y ) este solut ie pentru (Y ) deoarece |= (Y ). Prin urmare, dac a


G

p
cu morsmul calculat , atunci este o solutie pentru (X)G. Prin urmare, putem opri rezolvarea
n momentul ajungerii la o mult ime de egalitat i adevarate.
Presupunem ca mult imea de ecuat ii condit ionate satisface urmatoarele condit ii: (x)x =x pentru
orice variabil a x, (x
1
x
2
. . . x
n
)f(x
1
, x
2
, . . . , x
n
) =f(x
1
, x
2
, . . . , x
n
) pentru orice simbol de operat ie
f si pentru orice axioma (Y )l =
s
r if H , orice variabil a din Y apare n l.
Teorema 3.5.2 (Teorema de completitudine)

In condit iile de mai sus, dac a

este complet a, atunci


orice solut ie poate obt inut a numai cu regula paramodulat iei.
Demonstrat ie: Fie : T

(X) T

(Y ) o solut ie pentru (X)G. Prin urmare, (G) este o submult ime


a congruent ei semantice, adic a (G)

.
Deoarece

este complet a, adic a

, deducem ca (G)

. Conform Prologului obt inem


(G)

pr
.
Deoarece pentru orice axioma (Y )l

=
s
r if H , orice variabil a din Y apare n l, deducem, din
Propozit ia 3.5.2, ca orice pararescriere este un caz particular de paramodulat ie n care substitut ia calculat a
este o identitate.

In concluzie, putem scrie (G)

p
cu substitut ia calculat a identitatea.
Din Lema substitut iei deducem ca G

p
(G) cu substitut ia calculat a .
Deci G

p
cu substitut ia calculat a .
3.6 COMPLETITUDINEA NARROWINGULUI
3.6.1 Introducere
Se lucreaz a n algebre libere. Vom nota cu T

(X) algebra din care ncepem s a lucr am.


Fie (Y )l

=
s
r if H o clauz a. Mult imea de variabile Y va disjunct a de X. Vom presupune ca
T

(X) si T

(Y ) sunt subalgebre n T

(X Y ) si not am cu
i
X
: T

(X) T

(X Y ) si i
Y
: T

(Y ) T

(X Y )
morsmele incluziune.

In continuare vom lucra cu un caz particular de paramodulat ie denumit narrowing sau ngustare.
3.6. COMPLETITUDINEA NARROWINGULUI 103
Narrowing(

Ingustare): Fie (Y )l

=
s
r if H si = CGU(a, l) : T

(X Y ) B unde a T

(X)
nu este o variabila. Daca G este o mult ime de egalitat i formale din T

(X) si C este un context extins


din T

(X {}), atunci
G {C[a]}
n
(G H {C[r]})
cu morsmul calculat i
X
; .
Ment ion am ca ipoteza care apare mai jos si anume ca membrul st ang al concluziei unei axiome nu este
o variabil a este o ipoteza naturala deoarece n caz contrar dac a condit iile axiomei sunt vericate, atunci
orice termen ar putea rescris.
Propozit ie 3.6.1 Dac a pentru orice clauz a (Y )l

=
s
r if H din l nu este variabil a si orice variabil a
din Y apare n l, atunci pararescrierea este un caz particular de ngustare n care substitut ia calculat a este
o identitate.
Demonstrat ie: Este sucient s a relu am demonstrat iile propozit iilor 3.5.1 si 3.5.2 si din egalitatea a =
h
s
(l) din faptul ca l nu este o variabil a rezult a ca nici a nu este variabil a.
3.6.2 Amintiri despre formele normale
Reamintim ca

este relat ia de rescriere n A. Faptele de mai jos au fost demonstrate n sectiunea 2.4.3.
Denit ia 3.6.2 Elementul n A se numeste o forma normala pentru dac a
(b A)(n

b implic a n = b).
Fie N mult imea elementelor din A care sunt forme normale. Presupunem axioma Formei Normale
unice
FN! (a A)(! fn(a) N)a

fn(a).
Observat ia 3.6.3 Dac a a

d, atunci fn(a) = fn(d).


Observat ia 3.6.4 Axioma FN! implic a

este conuent a.
Observat ia 3.6.5 Funct ia fn : A N este surjectiv a si a

d fn(a) = fn(d).
Pentru cazul algebrelor libere mai ment ion am ca orice subexpresie a unei forme normale este tot o
forma normala.
3.6.3 Lema de ridicare
Denit ia 3.6.6 O substitut ie se numeste normala dac a duce orice variabil a ntr-un element n forma
normala.
Propozit ie 3.6.7 Presupunem c a mult imile de variabile X si Y sunt disjuncte si c a T

(X) si T

(Y ) sunt
subalgebre n T

(X Y ).
Fie l T

(Y ) astfel nc at orice variabil a din Y apare n l si a T

(X). Fie : T

(X Y ) T

(Z)
o substitut ie a c arei restrict ie la T

(X) este normal a si (a) = (l).


Dac a = CGU(a, l) : T

(X Y ) T

(V ) si este unica substitut ie pentru care = ; , atunci


este normal a.
104 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
Demonstrat ie: Existent a lui CGU(a, l) rezult a din faptul ca este unicator pentru a si l.

In plus,
conform observat iei de la nalul sect iunii 2.6, putem s a presupunem ca V X Y si ca (v) = v pentru
orice v V.
Fie v V. Vom studia dou a cazuri.
1. Daca v X, atunci (v) = ((v)) = (v) este normala prin ipoteza.
2. Presupunem v Y . Deoarece a T

(X) si v X rezult a ca variabila v nu apare n a. Deoarece Y


este mult imea variabilelor care apar n l, v apare n l. Dar (v) = v implic a aparit ia lui v n (l) = (a).
Deoarece variabila v nu apare n a rezult a ca v a fost introdus n (a) prin substitut ia , deci exista x X
o variabil a care apare n a, astfel nc at v apare n (x). Prin urmare (v) este subtermen n ((x)) = (x).
Deoarece (x) este prin ipoteza o forma normala, rezult a ca orice subtermen al s au este o forma normala.
In particular (v) este o forma normala.
Daca : X Z si : Y Z sunt dou a funct ii cu domeniile disjuncte not am cu < , >: XY
Z unica funct ie care pe X act ioneaz a ca si pe Y ca .
Propozit ie 3.6.8 Pentru orice (Y )l = r if H din presupunem c a orice variabil a din Y apare n l. Fie
G o mult ime de egalit at i formale din T

(X).
Dac a : T

(X) T

(Z) este normal a si


(G)
pr
Q,
atunci =

cu

normal a, exist a R cu

(R) = Q si
G
n
R cu substitut ia calculat a .
Demonstrat ie: Fie (Y )l

= r if H regula si : T

(Y ) T

(Z) substitut ia utilizaten pararescriere.


Vom presupune ca variabilele din Y sunt noi, adic a Y este disjunct de X.
Datorita normalitat ii lui pararescrierea nu se poate face ntr-un subtermen de forma (x) unde x este
o variabil a, asa ca presupunem ca ea se face n (a) = (l) unde a este un subtermen n G care nu este
variabil a. Prin urmare:
G = G

{C[a]}, (G) = (G

) {

(C)[(l)]} si Q = (G

) (H) {

(C)[(r)]}
unde este o variabil a nou a, C este un context extins din T

(X {}) si (a) = (l).


Fie = CGU(a, l) : T

(X Y ) T

(V ) si

: T

(V ) T

(Z) unica substitut ie cu propri-


etatea

=< , > . Deoarece restrict ia a lui < , > la T

(X) este normala conform ipotezei, si


< , >(a) =< , >(l), aplic and propozit ia 3.6.7 rezult a normalitatea lui

.
Notand cu : T

(X) T

(V ) restrict ia lui la T

(X) deducem ca =

.
Rezulta ca
G
n
(G

H {C[r]}) cu morsmul calculat .


Notand R = (G

H {C[r]}) mai observ am ca:

(R) = (;

)(G

H {C[r]}) =< , > (G

H {C[r]}) = (G

) (H) {

(C)[(r)]} = Q.
Propozit ie 3.6.9 Pentru orice (Y )l

= r if H din presupunem c a orice variabil a din Y apare n l. Fie
G o mult ime nit a de egalit at i din T

(X).
Dac a : T

(X) T

(Z) este normal a si


(G)

pr
S,
atunci
G

n
G

cu morsmul calculat
pentru care exist a o substitut ie normal a cu propriet at ile (G

) = S si = .
3.6. COMPLETITUDINEA NARROWINGULUI 105
G

R
G
n
n

V
V

Z
Z
Z
1
Z
1
Z

S
Q =

(R)
(G)
pr
pr

Demonstrat ie: Prin induct ie dupa num arul pasilor. Vom pune n evident a prima pararescriere
(G)
pr
Q

pr
S.
Conform propozit iei precedente =

cu

normala, exista R cu

(R) = Q si
G
n
R cu morsmul calculat .
Folosind ipoteza de induct ie din

(R)

pr
S deducem
R

n
G

cu morsmul calculat
pentru care exista o substitut ie normala cu proprietat ile (G

) = S si

= . Din cele de mai sus rezult a


ca
G

n
G

cu morsmul calculat
si () =

= .
3.6.4 Epilog
Propozit ie 3.6.10 Fie G T

(X) T

(X) nit a. Dac a morsmul h : T

(X) T

(Y ) este un uni-
cator pentru G, atunci G

r
cu substitut ia calculat a s

pentru care exist a morsmul f cu proprietatea


s

; f = h.
Demonstrat ie: Reamintim denit ia reexiei:
Daca : A B este cel mai general unicator pentru l si r, atunci G{l =
t
r}
r
(G) cu morsmul
calculat .
Vom demonstra propozit a prin induct ie dupa num arul elementelor mult imii G.
Fie G = G

{l =
s
r}. Din ipoteza h(l) = h(r). Fie u : T

(X) T

(Z) cel mai general unicator


pentru l si r. Atunci exista un unic v : T

(Z) T

(Y ) astfel nc at u; v = h.
Observ am conform denit iei de mai sus ca G
r
u(G

) cu morsmul calculat u.
Deoarece v(u(G

)) = h(G

) si h este unicator pentru G rezult a ca v este unicator pentru u(G

) care
are mai put ire elemente dec at G. Aplicand ipoteza de induct ie pentru u(G

) deducem ca u(G

r
cu
substitut ia calculat a w pentru care exista f astfel nc at w; f = v.
Atunci G

r
cu substitut ia calculat a u; w.

In plus h = u; v = (u; w); f.
106 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
3.6.5 Completitudine
Ipoteze. Pentru orice (Y )l

= r if H din presupunem ca orice variabil a din Y apare n l. Rescrierea
are proprietatea formei normale unice (FN!).
Reamintim ca proprietatea FN! implic a conuent a rescrierii si completitudinea relat iei de ntalnire
prin rescriere.
Fie s : T

(X) T

(Z) o solut ie pentru (X)G. Cu ipoteza FN! pentru solut ia s se poate


normaliza obt in and solut ia normala s

: T

(X) T

(Z) denita prin s

(x) = fn(s(x)) pentru orice


x X. Observ am ca s(x)

(x) pentru orice x X. Prin induct ie structurala se arat a usor ca


s(r)

(r) pentru orice r T

(X). Pentru orice u



=
t
v G observ am ca
s(u)

(u) si s(v)

(v).
Probam ca s

este solut ie pentru (X)G adic a s

(G)

. Fie u

=
t
v G. Deoarece s este solut ie pentru
(X)G deducem s(u)

s(v). Deoarece

din s(u)

(u) si s(v)

(v) deducem s(u)

(u)
si s(v)

(v). Deoarece

este relat ie de echivalent a obt inem s

(u)

(v). Deci s

este solut ie.


Propozit ie 3.6.11 Orice solut ie normal a se obt ine prin particularizarea unei solut ii obt inute cu narrowing
si reexie.
Demonstrat ie: Fie s

: T

(X) T

(Z) o solut ie normala. Utilizand completitudinea relat iei de


ntalnire prin rescriere din s

(G)
T

(Z)

rezult a ca s

(G)

, prin urmare conform prologului


s

(G)

pr
. Din lema de ridicare rezult a existent a substitut iei cu
G

n
G

cu morsmul calculat
si a substitut iei normale cu proprietat ile (G

) = si s

= .
Deoarece G

este o mult ime de egalitat i unicabile prin , deducem conform epilogului


G

r
cu morsmul calculat
si exista o substitut ie cu proprietatea = . Deoarece s

= = deducem ca orice solut ie normala


s

poate obt inut a prin particularizarea unei solut ii gasite cu narrowing si reexie.
3.7 REZOLUT IE
`
A LA PROLOG
Programarea logica relat ional a, ilustratan viat a de toate zilele de limbajul Prolog, este bazat a pe rezolut ie.
3.7.1 Rezolut ia
Axiomele, clauze Horn, au forma (Y )(v) if H unde
1) (v) este un atom, adic a este un predicat si v este un vector de termeni n concordant a cu aritatea
lui iar
2) H este o mult ime nit a de atomi.
T elul, scopul, este o mult ime nit a de atomi. Punand n evident a atomul asupra caruia va act iona
rezolut ia pentru o axioma ca mai sus t elul devine {(s)} T. Ca mai sus presupunem ca variabilele din Y
sunt disjuncte de variabilele din t el.
Fie = CGU(v, s). Prin rezolut ie, cu substitut ia calculat a ajungem la t elul (H T).
3.7. REZOLUTIE
`
A LA PROLOG 107
3.7.2 Rezolut ie = Narrowing = Paramodulat ie
Trecerea de la varianta relat ional a la varianta ecuat ional a se face prin
1) ad augarea la signatura a sortului b, transformarea predicatelor n simboluri de operat ii avand rezultatul
de sort b
2) nlocuirea ec arui atom (v) cu egalitatea (v)

=
b
t unde t este o constanta de sort b reprezentand
adevarul.
Varianta ecuat ional a a unei mult imi de atomi C va notat a cu C
e
= {(v)

=
b
t : (v) C}.
Propozit ie 3.7.1

In varianta ecuat ional a, rezolut ia se poate realiza prin narrowing si eliminarea egalit at ilor
reale.
Demonstrat ie: Fie G o mult ime de atomi si (Y ) (v) if H o clauz a Horn. Consideram G = G

{(s)}
si = CGU(v, s). Prin rezolut ie obt inem (G

H).

In varianta ecuat ional a G


e
= G
e
{(s)

=
b
t} si (Y ) (v)

=
b
t if H
e
.
Alegem a = (s), l = (v) si observ am c a = CGU(s, v) = CGU((s), (v)).
Cum a nu este variabil a rezult a ca putem aplica narrowing-ul:
G
e
{(s)

=
b
t}
n
(G
e
H
e
{t

=
b
t}) =
((G

H)
e
{t

=
b
t}) =
[(G

H)]
e
{t

=
b
t}

In urma elimin arii egalitat ii adevarate t



=
b
t obt inem varianta ecuat ional a a rezultatului rezolut iei
(G

H).
Corolar 3.7.1 Fie G o mult ime de atomi. Orice solut ie pentru (X)G obt inut a cu rezolut ia poate
obt inut a prin narrowing si eliminarea egalit at ilor adev arate ca solut ie pentru (X)G
e
Propozit ie 3.7.2 Fie o mult ime de clauze Horn si G o mult ime de atomi. Aplicarea narrowing-ului
folosind
e
n varianta ecuat ional a G
e
se poate realiza prin rezolut ie folosind n G.
Demonstrat ie: Fie G = G

{P(s)} si (Y ) (v)

=
b
t if H
e
o clauz a din
e
astfel nc at s a se poata
aplica narrowing-ul lui P(s)

=
b
t. Atunci l = (v) si exista = CGU(l, a), unde a trebuie ales.
Singura varianta posibil a pentru a este a = P(s). Observ am ca a nu este variabil a.
Cum exista = CGU(a, l) rezult a ca P = si = CGU(v, s). Prin urmare
G
e

n
(G
e
{t

=
b
t} H
e
) = (G

H)
e
{t

=
b
t}.
Aplicand rezolut ia obt inem
G

{P(s)} (G

H) cu morsmul calculat

In concluzie din G
e

n
G
1
cu
e
si morsmul calculat , deducem ca G se duce prin rezolut ie cu
si morsmul calculat n F cu G
1
= F
e
{t

=
b
t}.
Corolar 3.7.2 Fie G o mult ime de atomi. Orice solut ie pentru (X)G
e
obt inut a prin narrowing si elim-
inarea egalit at ilor adev arate poate obt inut a cu rezolut ia ca solut ie pentru (X)G.
Mai observ am ca n varianta ecuat ional a a unui program Prolog reexia nu poate aplicat a deoarece
unicarea nu poate facut a n egalitatea (v) = t.
Concluzia este ca rezolut ia este complet a, fapt ce rezult a din teoremele de completitudine demonstrate
anterior.
108 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
3.8 EXEMPLE
3.8.1 Primul
Se p astreaz a notat iile din capitolele precedente. Se d a urmatorul fragment de program EQLOG:
sort nat < nlist < list
op 0 : -> nat
op s : nat -> nat
op nil : -> list
op _ _ : list list -> list [assoc]
op cap : nlist -> nat
op cdr : nlist -> list
var E : nat
var L : list
eq cap(E L) = E ***> 1
eq cdr(E L) = L ***> 2
op # : list -> nat
eq #(nil) = 0 ***> 3
eq #(E L) = s(#(L)) ***> 4
Se cere s a se gaseasc a solut ie pentru urmatoarea interogare:
L{#(L) = s(s(0)), cap(L) = 0}
Rezolvare. Avem 3 variante:
s a unicam membrul st ang din ecuat ia 1 cu cap(L);
s a unicam membrul st ang din ecuat ia 3 cu #(L);
s a unicam membrul st ang din ecuat ia 4 cu #(L).
Vom alege ultima alternativa. Deoarece ecuat ia 4 are variabile care apar n scop, redenumim variabilele
si obt inem: #(E L1) = s(#(L1)).
Identic am cadrul de aplicare a paramodulat iei:
contextul c este z = s(s(0));
cel mai general unicator pentru #(L) si #(E L1) este L := EL1;
ecuat ia care se utilizeaz a nu este condit ionat a deci H este vid.
Noul scop este {cap(E L1) = 0, s(#(L1)) = s(s(0))}.
Subtermenul unde se aplic a paramodulat ia este #(L1), iar ecuat ia folosita este 4. Din nou vom face o
redenumire a variabilelor, ecuat ia 4 devine #(E1 L2) = s(#L2) .
Dup a noul pas de paramodulat ie, scopul devine: {cap(E E1 L2) = 0, s(s(#(L2))) = s(s(0))}. Se
observ a ca este posibil s a facem din nou paramodulat ie cu ecuat ia 4 si putem intra astfel n ciclu innit.
Vom unica cap(E E1 L2) cu membrul st ang al ecuat iei 1, n care redenumim variabilele; cel mai
general unicator calculat este E2 := E, L1 := E1 L2. Contextul este z = 0.
Scopul devine {E = 0, s(s(#(L2))) = s(s(0))}.
Unicam #(L2) cu membrul st ang al ecuat iei 3; contextul este z = 0, cel mai general unicator,
L2 := nil.
Noul scop este {E = 0, s(s(0)) = s(s(0))} .
Prin aplicarea reexiei, scopul devine si se adaug a la solut ie E := 0.
Solut ia L = 0 E1 nil se obt ine astfel :
3.8. EXEMPLE 109
L = E L1
= E E1 L2
= E E1 nil
= 0 E1 nil
3.8.2 Al doilea
Se d a urmatorul fragment de program:
0 <= x ***> 1
s x <= s y :- x <= y ***> 2
Se cere solut ia pentru:
1. w <= s 0 (toate solut iile);
2. s s 0 <= w ;
3. s s 0 <= w = true, pentru programul echivalent n EQLOG.
Rezolvare:
1. Prima varianta este de a utiliza prima clauz a, cel mai general unicator este w := 0, x := s 0. Scopul
devine 0 <= s 0 care este adevarat din prima clauz a; solut ia este w = 0 .
A doua varianta este de a utiliza a doua clauz a, cel mai general unicator este w := s x, y := 0.
Scopul devine x <= 0. Cu prima clauz a n care redenumim variabilele obt inem 0 <= 0, care este
adevarat cu cel mai general unicator x := 0, x

:= 0. Solut ia este w = s 0.
2. Folosind clauza 2, unicatorul cel mai general este x := s 0, w := s y, iar scopul devine s 0 <= y.
Folosim clauza 2, cu variabilele redenumite deoarece apar n scop; unicatorul este x

:= 0, y := s y

,
iar scopul devine 0 <= y

care este adevarat conform primei clauze, unicand x := y

. Solut ia este
w = s s y

.
3. Programul echivalent n EQLOG se obt ine nlocuind (x
1
, ..., x
n
) cu (x
1
, ..., x
n
) = true.
Scopul este {s s 0 <= w = true}. Identic am cadrul de aplicare a narrowing-ului cu ecuat ia a doua:
contextul extins este z = true;
a este s s 0 <= w;
l este s x <= s y;
cel mai general unicator pentru a si l este w := s y, x := s 0.
Scopul devine {true = true, s 0 <= y = true}. Folosim din nou a doua ecuat ie, dar redenumim
variabilele:
contextul extins este z = true;
a este s 0 <= y;
l este s x

<= s y

;
cel mai general unicator pentru a si l este y := s y

, x

:= 0.
Scopul devine {true = true, true = true, 0 <= y

= true}. Folosim prima ecuat ie n care redenumim


variabilele:
contextul extins este z = true;
110 CHAPTER 3. PROGRAMARE LOGIC

A ECUATIONAL

A
a este 0 <= y

;
l este 0 <= x;
cel mai general unicator pentru a si l este x := y

.
Scopul devine {true = true, true = true, true = true} si prin reexie devine . Solut ia este w = s s y

.
Chapter 4
INSTITUTII
4.1 CATEGORII
Vom folosi cuvantul clasa pentru a desemna colect iile arbitrare de elemente. Orice mult ime este o clas a.
Reciproca este falsa, de exemplu clasa mult imilor nu este o mult ime.
Categoria este unul dintre cele mai abstracte concepte create de algebr a. Exemplele de categorii abunda
n cele mai multe dintre ramurile matematicii. Denit ia categoriei este mai lung a si o vom prezenta ca pe
o poveste n mai multe episoade.
Denit ia 4.1.1 O categorie C este formata din obiecte si morsme. Ambele formeaza cate o clas a.
Clasa obiectelor categoriei C se noteaz a cu Ob(C) sau |C|.
Fiecare morsm f determina unic dou a obiecte:
1) Primul, sa-l not am A, este numit domeniul sau sursa morsmului
2) Al doilea, sa-l not am B, este numit codomeniul sau cosursa morsmului.
Pentru ecare morsm f de sursa A si cosursa B folosim una dintre notat iile
f : A B sau A
f
B.
Pentru orice pereche de obiecte A si B totalitatea morsmelor de sursa A si cosursa B formeaza o mult ime
notat a C(A, B).
Morsmele se pot compune n anumite condit ii asem an atoare funct iilor. Doua morsme f si g se pot
compune numai dac a codomeniul primului coincide cu domeniul celui de al doilea. Domeniul compunerii
f; g coincide cu domeniul primului morsm f si codomeniul compunerii coincide cu codomeniul celui de al
doilea morsm g asa cum se vede mai jos


A
B
C .
f g
f;g
Compunerea este asociativa, adic a oricare ar morsmele f : A B, g : B C si h : C D are
loc egalitatea
(f; g); h = f; (g; h).
Pentru ecare obiect A exista un morsm distins 1
A
: A A care este numit morsmul identitate
al lui A deoarece are efect neutru la compunere, adic a
1
A
; f = f pentru orice morsm f de sursa A si g; 1
A
= g penrtu orice morsm g de cosursa A.

In orice categorie morsmele identitate sunt unice.


Vom continua cu mai multe exemple.
111
112 CHAPTER 4. INSTITUTII
Sunt mai multe categorii n care obiectele sunt toate mult imile.
1. Categoria relat iilor notat a Rel n care morsmele sunt relat iile. Compunerea relat iilor P Rel(A, B)
si Q Rel(B, C), adic a P AB si Q B C este prin denit ie
P; Q = {(a, c) A C : (b)(a, b) P si (b, c) Q} Rel(A, C).
2. Categoria funct iilor partiale este notat a PFn. Prin denit ie F PFn(A, B) dac a si numai dac a
F A B si
(a A)(b B)(c B){(a, b) F si (a, c) F implic a b = c}.
Observat ia 4.1.2 Compunerea ca relat ii a dou a funct ii part iale este tot o funct ie part ial a.
Demonstrat ie: Presupunem F PFn(A, B) si G PFn(B, C) si probam ca F; G PFn(A, C).
Fie (a, c) F; G si (a, c

) F; G. Din denit ia compunerii exista b, b

B astfel nc at (a, b) F,
(b, c) G, (a, b

) F si (b

, c

) G. Deoarece F este funct ie part iala deducem b = b

. Prin urmare
(b, c) G si (b, c

) G deci c = c

deoarece si G este funct ie part iala.



In concluzie F; G este funct ie
part iala.
3. Categoria mult imilor notat a Set are drept morsme funct iile, a caror compunere ca funct ii coincide cu
a lor compunere ca relat ii.
S a continu am cu algebra.
1. Categoria grupurilor are grupurile ca obiecte si morsmele de grupuri drept morsme.
2. Categoria grupurile abeliene sau comutative are grupurile abeliene ca obiecte si morsmele de grupuri
drept morsme.
3. Categoria inelelor are inelele ca obiecte si morsmele de inele drept morsme.
4. Categoria algebrelor notat a Alg

.
5. Categoria algebrelor notat a Alg

.
Din topologie amintim categoria spat iilor topologice n care obiectele sunt spat ie topologice iar mors-
mele sunt funct iile continue.

Incheiem cu un exemplu n care morsmele nu mai sunt funct ii: categoria atasat a unei mult imi preor-
donate (P, ). Obiectele acetei categorii sunt chiar elementele mult imii P. Date dou a elemente x, y din
P mult imea morsmelor de la x la y are cel mult un element. Exist a un morsm de la x la y dac a si
numai dac a x y. Tranzitivitatea relat iei ne asigura existent a si unicitatea compunerii morsmelor.
Reexivitatea relat iei ne asigura existent a morsmelor identitate.
4.1.1 Morsme distinse
Denit ia 4.1.3 Un morsm f : A B se numeste izomorsm dac a exista un morsm g : B A cu
proprietat ile f; g = 1
A
si g; f = 1
B
.
Observat ia 4.1.4 Morsmul g din denit ia anterioar a este unic determinat.
Demonstrat ie: Daca h : B A are proprietat ile f; h = 1
A
si h; f = 1
B
, atunci
g = g; 1
A
= g; (f; h) = (g; f); h = 1
B
; h = h.
Datorita unicit at ii sale morsmul g de mai sus este numit inversul lui f si este notat f
1
.
4.1. CATEGORII 113
Propozit ie 4.1.5 Dac a f : A B si g : B C sunt izomorsme, atunci f; g : A C este
izomorsm.

In plus
(f; g)
1
= g
1
; f
1
.
Demonstrat ie: Deoarece f : A B este izomorsm exista morsmul f
1
: B A cu proprietat ile
f; f
1
= 1
A
si f
1
; f = 1
B
. Deoarece g : B C este izomorsm exista morsmul g
1
: C B cu
proprietat ile g; g
1
= 1
B
si g
1
; g = 1
C
.
Egalit at ile
(f; g); (g
1
; f
1
) = f; (g; g
1
); f
1
= f; 1
B
; f
1
= f; f
1
= 1
A
si
(g
1
; f
1
); (f; g) = g
1
; (f
1
; f); g = g
1
; 1
B
; g = g
1
; g = 1
C
dovedesc ca f; g este izomorsm al carui invers este g
1
; f
1
ceeace probeaza egalitatea din enunt .
Denit ia 4.1.6 Un morsm f : A B se numeste monomorsm sau monic dac a oricare ar
morsmele g : C A si h : C A egalitatea g; f = h; f implic a g = h.
Observat ia 4.1.7 Orice izomorsm este monomorsm.
Demonstrat ie: S a presupunem ca f : A B este izomorsm, prin urmare exista morsmul f
1
:
B A cu proprietat ile f; f
1
= 1
A
si f
1
; f = 1
B
.
Daca morsmele g : C A si h : C A veric a egalitatea g; f = h; f prin compunere la dreapta
cu f
1
deducem g; f; f
1
= h; f; f
1
prin urmare g; 1
A
= h; 1
A
deci g = h.
Propozit ie 4.1.8 Compunerea monomorsmelor este un monomorsm.
Demonstrat ie: S a presupunem ca morsmele f : A B si g : B C sunt monomorsme.
Daca morsmele u : D A si v : D A veric a egalitatea u; (f; g) = v; (f; g) adic a (u; f); g =
(v; f); g, deoarece g este monomorsm rezult a ca u; f = v; f, deci u = v deoarece si f este monomorsm.
Denit ia 4.1.9 Un morsm f : A B se numeste epimorsm sau epic dac a oricare ar morsmele
g : B C si h : B C egalitatea f; g = f; h implic a g = h.
Observat ia 4.1.10 Orice izomorsm este epimorsm.
Propozit ie 4.1.11 Compunerea epimorsmelor este un epimorsm.
4.1.2 Dualitate
Fiecare categorie C are o categorie dual a notat a C
op
, denita n continuare.
Denit ia 4.1.12 Duala C
op
are aceleasi obiecte ca si C. Morsmele isi permut a sursa si cosursa, adic a
prin denit ie oricare ar obiectele A si B
C
op
(A, B) = C(B, A).
Oricare ar morsmele f C
op
(A, B) si g C
op
(B, C) compunerea lor este notat a f g si denita prin
f g = g; f.
114 CHAPTER 4. INSTITUTII
Corectitudinea acestei denit ii rezult a din urmatoarele:
f : A B si g : B C sunt morsmele din C
op
;
n C morsmele devin f : B A si g : C B si se pot compune obt in and morsmul g; f : C A;
care n C
op
devine un morsm de la A la C.
Se poate verica cu usurint a ca C
op
satisface condit iile de a o categorie.
Observat ia 4.1.13 Duala categoriei C
op
este C.
Fiecare concept din teoria categoriilor are un dual. Pentru a obt ine conceptul dual proced am astfel:
Scriem denit ia conceptului n C
op
si apoi revenim n C, obt inand conceptul dual.
Dualul dualului oric arui concept este conceptul init ial.
Observat ia 4.1.14 Not iunile de monomorsm si epimorsm sunt duale una alteia.
Demonstrat ie: Fie f C
op
(A, B) un monomorsm, adic a oricare ar morsmele g C
op
(C, A) si
h C
op
(C, A) egalitatea g f = h f implic a g = h.
S a ne mut am n C. Morsmul f C(B, A) este dualul unui monomorsm dac a oricare ar morsmele
g C(A, C) si h C(A, C) egalitatea f; g = f; h implic a g = h.
Deci dualul unui momomorsm este un epimorsm.
Exist a si concepte autoduale, adic a dualul este chiar conceptul initial. Exemple de concepte autoduale
sunt morsmele identitate si izomorsmele.
Fiecare propozit ie P din teoria categoriilor are o propozit ie dual a P
o
, care se obt ine din P nlocuind
ecare concept cu dualul sau.
Principiul dualitat i. Daca o propozit ie privind teoria categoriilor este adev arat a n orice categorie,
atunci si duala ei este adevarat a n orice categorie.
Motivat ie: Presupunem ca propozit ia P este adevarat a n orice categorie si ar atam ca duala P
o
este
adevarat a n orice categorie C.
Deoarece P este adevarat a n orice categorie, rezult a ca P este adevarat a n C
op
, prin urmare P
o
este
adevarat a n categoria C.
Principiul dualit at ii este util deoarece ne permite s a facem mai put ine demonstrat ii. De exemplu:
propozit iile compunerea de monomorsme este un monomorsm si compunerea de epimorsme este un
epimorsm sunt duale, prin urmare este sucent s a demonstram numai una dintre ele deoarece a doua
rezult a din prima folosind principiul dualit at ii.
4.1.3 Subcategori
O categorie D se numeste subcategorie a categoriei C dac a
1. Orice obiect din D este obiect al lui C,
2. Oricere ar obiectele A si B din D, morsmele din D(A, B) sunt din C(A, B), adic a D(A, B)
C(A, B),
3. morsmele din D se compun ca n C si
4. pentru orice obiect A din D morsmul 1
A
din C(A, A) se gaseste n D(A, A).
4.2. FUNCTORI 115
PFn este subcategorie a lui Rel. Set este subcategorie a lui PFn. In aceste exemple obiectele
subcategoriei coincid cu cele ale categoriei.
Subcategoria D a categoriei C se numeste plina dac a D(A, B) = C(A, B) oricare ar obiectele A si B
din D. O subcategorie plin a este caracterizat a de obiectele ei, deoarece morifsmele sunt toate morsmele
din categoria C cu sursa si cosursa din D. De exemplu subcategoria grupurilor comutative este subcategorie
plin a a categoriei grupurilor.
4.2 FUNCTORI
Categoriile, ca toate structurile algebrice, au si ele morsmele lor. Ele se numesc functori.
Denit ia 4.2.1 Fie dou a categorii C si D. Un functor F : C D de la categoria C la categoria D
1. asociaza ec arui obiect C din categoria C un alt obiect F(C) din categoria D
2. asociaza ec arui morsm f : A B din categoria C un alt morsm F(f) : F(A) F(B) din
categoria D astfel nc at
(a) F(f; g) = F(f); F(g) oricare ar morsmele f : A B si g : B C din C,
(b) F(1
A
) = 1
F(A)
pentru orice obiec A din C.
Fiecare categorie C posed a un functor identitate 1
C
: C C denit prin
1. 1
C
(A) = A pentru orice obiect A din C si,
2. 1
C
(f) = f pentru orice morsm f din C.
Ca toate morsmele functorii se pot compune dac a cosursa primului coincide cu sursa celui de al doilea.
Denit ia 4.2.2 Compunerea F; G : A C a functorilor F : A B si G : B C este denita prin
1. (F; G)(A) = G(F(A)) pentru orice obiect A din C,
2. (F; G)(f) = G(F(f)) pentru orice morsm f din C.
Probam ca F; G este functor.
1. (F; G)(f; g) = G(F(f; g)) = G(F(f); F(g)) = G(F(f)); G(F(g)) = (F; G)(f); (F; G)(g) unde
f : A B si g : B C sunt morsme din C,
2. (F; G)(1
A
) = G(F(1
A
)) = G(1
F(A)
) = 1
G(F(A))
= 1
(F;G)(A)
pentru orice obiect A din C.
Compunerea functorilor este asociativa. Fie F : A B, G : B C si H : C D. Pentru orice obiect
A din A
((F; G); H)(A) = H((F; G)(A)) = H(G(F(A))) = (G; H)(F(A)) = (F; (G; H))(A).
Pentru orice morsm f din A
((F; G); H)(f) = H((F; G)(f)) = H(G(F(f))) = (G; H)(F(f)) = (F; (G; H))(f).

In concluzie (F; G); H) = F; (G; H).


Daca F : A B este un functor, atunci 1
A
; F = F si F; 1
B
= F. Prin urmare categoriile formeaza o
categorie mare deoarece totalitatea functorilor dintre dou a categorii xate s-ar putea sa nu e o mult ime.
Vom nota aceast a categorie mare cu Cat.
116 CHAPTER 4. INSTITUTII
Propozit ie 4.2.3 Dac a F : C D este un functor si f : A B un izomorsm, atunci F(f) este un
izomorsm.
Demonstrat ie: Deoarece f : A B un izomorsm exista morsmul f
1
: B A cu proprietat ile
f; f
1
= 1
A
si f
1
; f = 1
B
. Aplicand functorul functorul F obt inem
F(f; f
1
) = F(1
A
) si F(f
1
; f) = F(1
B
),
prin urmare
F(f); F(f
1
) = 1
F(A)
si F(f
1
); F(f) = 1
F(B)
,
deci F(f) este izomorsm avand inversul F(f
1
) adic a
F(f)
1
= F(f
1
).
Fie S si C dou a categorii si M : S C
op
un functor. Daca f : A B si g : B C sunt dou a
morsme din S, atunci
M(f; g) = M(g); M(f).

Intradevar M(f; g) = M(f) M(g) = M(g); M(f). Un astfel de functor se mai numeste contravariant.
4.3 CONEXIUNI GALOIS
O conexiune Galois
(P, )

(Q, )
este formata din dou a mult imi part ial ordonate (P, ) si (Q, ) si dou a funct ii * (desi sunt notate la fel
deosebirea se va face din context) cu urmatoarele proprietat i:
1. (p, p
1
P) p p
1
= p

1
p

,
2. (q, q
1
Q) q q
1
= q

1
q

,
3. (p P) p p

,
4. (q Q) q q

.
Primele dou a cerint e ne spun ca funct iile * sunt descrescatoare.
Probam unele consecinnt e ale axiomelor de mai sus
1. = .
Din (4) rezult a p

. Din (3), p p

, si cu (1) obt inem p

. Deci p

= p

.
2. = este operator de nchidere.
Din (3) avem p p

. Cum p

= p

rezult a p

= p

deci p

= p

. Daca p q, aplic and (1) si (2)


avem q

si p

deci p

.
Exercit iu Inlocuit i una dintre relat iile de ordine cu duala ei si ar atat i ca not iunea de conexiune Galois
este echivalenta cu o pereche de aplicat ii F : Q P si G : P Q cu proprietatea
(p P)(q Q)F(q) p q G(p).
Conceptul de conexiune Galois mai este echivalent si cu cel de functori adjunct i ntre categoriile atasate
unor mult imi partial ordonate.
4.4. INSTITUTII 117
4.3.1 Conexiunea Galois atasata unei relat ii
Fie A si B dou a mult imi si R AB o relat ie. Relat iei R i atas am conexiunea Galois
(P(A), )

(P(B), )
unde (P(X), ) reprezinta mult imea p art ilor mult imii X (X {A, B}) ordonata (part ial) cu incluziunea
iar funct iile * sunt denite n modul urmator:
C

= {b B | c C, cRb} pentru orice C A,


D

= {a A | d D, aRd} pentru orice D B.


Se veric a usor cele patru proprietat i din denit ia conexiunii Galois. Probam numai prima si a treia
condit ie
Fie C C
1
A. Probam C

1
C

.
Fie b C

1
. Prin denit ie bRc pentru orice c C
1
. Deoarece C C
1
deducem ca bRc pentru orice c C.
Deci b C

.
Fie C A. Probam ca C C

.
Fie c C. Din denit ia lui C

deducem ca pentru orice b C

are loc cRb. Deoarece c este n relat ia R


cu orice element din C

deducem ca c C

.
Propozit ie 4.3.1 Conexiunea Galois atasat a unei relat ii satisface
1. (

iI
C
i
)

iI
C

i
unde C
i
A pentru orice i I,
2. (

iI
D
i
)

iI
D

i
unde D
i
B pentru orice i I.
Demonstrat ie: Probam numai prima egalitate. Pentru orice b B remarcam echivalent a urmatoarelor
observat ii
b (

iI
C
i
)

,
bRc pentru orice c

iI
C
i
,
bRc pentru orice i I si c C
i
,
bRc pentru orice c C
i
si i I,
b C

i
pentru orice i I si
b

iI
C

i
.
4.4 INSTITUTII
Se numeste institut ie (notat a cu I) urmatoarea construct ie
Sign
Set
Cat
op
Sen
Mod
>
>
>
>
>

unde Sign este o categorie, Set este categoria mult imilor, Cat
op
este duala categoriei categoriilor iar Sen
si Mod sunt doi functori. Obiectele categoriei Sign se numesc signaturi. Sign este numit a categoria
signaturilor. De asemenea, se mai d a cate o relat ie de satisfacere pentru ecare signatura (obiect din
categoria signaturilor),
|=

|Mod()| Sen() pentru orice signatura |Sign|


118 CHAPTER 4. INSTITUTII
care veric a urmatoarea condit ie de satisfacere:
:

, M

|Mod(

)|, e Sen(),
M

|=

Sen()(e) Mod()(M

) |=

e.
Se numeste -model orice obiect M |Mod()|. Se numeste -propozit ie orice element e Sen().
Pentru orice signatura , relat iei |=

i putem asocia o conexiune Galois ca mai nainte


(P(|Mod()|), )

(P(Sen()), ).
Denit ia 4.4.1 Spunem ca -modelul M satisface mult imea de -propozit ii E Sen(), fapt notat prin
M |=

E dac a M |=

e pentru orice e E.
Observat ia 4.4.2 M |=

E dac a si numai dac a M E

.
Observ am ca E

este mult imea modelelor lui E.


Observat ia 4.4.3 Dac a M |=

E atunci M |=

.
Demonstrat ie:

Intr-adevar, dac a M |=

E atunci M E

= E

= E

adic a M |=

.
Are loc si condit ia de satisfacere extinsa:
Pentru orice morsm de signaturi :

, pentru orice M

|Mod(

)| si pentru orice E Sen()


M

|=

Sen()(E) Mod()(M

) |=

E.
Membrul st ang este echivalent cu
M

|=

Sen()(e) pentru orice e E care conform condit iei de satisfacere este echivalent cu
Mod()(M

) |=

e pentru orice e E, adic a cu membrul drept.


4.4.1 Consecint a semantica
Denit ia 4.4.4 Spunem ca mult imea de -propozit ii E implic a -propozit ia e Sen(), sau ca e este o
consecint a semantica a lui E si not am E |=

e dac a
(M |Mod()|)M |=

E =M |=

e.
Observat ia 4.4.5 E |=

e dac a si numai dac a e E

.
Demonstrat ie: Din denit ie E |=

e este echivalent cu (M)M E

= M |=

e, adic a cu e E

,
deci cu e E

.
Mult imea E

se numeste mult imea consecint elor semantice ale mult imii E.


Denit ia 4.4.6 Oricare ar mult imile de -propozit ii E si E
1
spunem ca E
1
este o consecint a semantica
a lui E si not am E |=

E
1
dac a
(M |Mod()|)M |=

E = M |=

E
1
.
Observat ia 4.4.7 E |=

E
1
dac a si numai dac a E

1
, dac a si numai dac a E
1
E

4.4. INSTITUTII 119


Lema 4.4.1 Pentru orice morsm de signaturi :

si pentru orice E Sen() avem


Sen()(E)

= Mod()
1
(E

).
Demonstrat ie: Din condit ia de satisfacere extinsa, pentru orice M

|Mod(

)|,
M

|=

Sen()(E) Mod()(M

) |=

E
de unde M

Sen()(E)

Mod()(M

) E

deci
M

Sen()(E)

Mod()
1
(E

)
ceea ce demonstreaza egalitatea din enunt .
Observat ia 4.4.8 (Lema nchiderii) Pentru orice :

morsm de signaturi si orice E


Sen() avem
Sen()(E

) Sen()(E)

.
Demonstrat ie: Plec and de la
Sen()(E

) Sen()(E

= Sen()(E

si folosind observat ia anterioar a


Sen()(E

= (Mod()
1
(E

))

= (Mod()
1
(E

))

= (Sen()(E))

= (Sen()(E))

obt inem concluzia.


Observat ia 4.4.9 Fie :

un morsm de signaturi e Sen() si E Sen().


1. E |=

e implic a Sen()(E) |=

Sen()(e),
2. Dac a Mod() : Mod(

) Mod() este surjectiv pe obiecte, atunci


E |=

e dac a si numai dac a Sen()(E) |=

Sen()(e).
Demonstrat ie:
1. Semnicat ia lemei nchiderii este aceea ca pentru orice e E

, Sen()(e) Sen()(E)

adic a dac a
E |=

e atunci Sen()(E) |=

Sen()(e) ceea ce, n cuvinte, nseamna ca dac a aplic am unei deductibilitat i


semantice un morsm de signaturi obt inem tot o deductibilitate semantica.
2. Pentru demonstrarea incluziunii contrare folosim ipoteza Sen()(E) |=

Sen()(e).
Fie M |=

E. Deoarece Mod() : Mod(

) Mod() este surjectiv pe obiecte exista M

|Mod(

)|
astfel nc at M = Mod()(M

), prin urmare Mod()(M

) |=

E. Din condit ia de satisfacere deducem


M

|=

Sen()(E), prin urmare din ipoteza M

|=

Sen()(e). Folosind din nou condit ia de satisfacere


Mod()(M

) |=

e, deci M |=

e.
Propozit ie 4.4.10 Dac a :

este morsm de signaturi iar Mod() : Mod(

) Mod() este
surjectiv pe obiecte, atunci pentru orice E Sen() avem Mod()(Sen()(E)

) = E

.
Demonstrat ie: Facem observat ia ca pentru o funct ie surjectiva f : A B, pentru orice C B are
loc egalitatea f(f
1
(C)) = C. Cum din lema 4.4.1 rezult a egalitatea
Sen()(E)

= Mod()
1
(E

)
obt inem, t in and seam a de observat ia anterioar a, Mod()(Sen()(E)

) = Mod()(Mod()
1
(E

)) = E

.
120 CHAPTER 4. INSTITUTII
4.4.2 Exemple
Un exemplu din algebra
Vom descrie succint un exemplu simplu si nearticial de institut ie. In acest exemplu X este o mult ime
xata de variabile.
Drept categorie a signaturilor lu am categoria inelelor comutative CRing. Functorul
Sen : CRing Set
asociaza ec arui inel R, inelul de polinoame cu coecient i n R si variabile din X, adic a Sen(R) = R[X].
In plus orice morsm de inele g : R R

se prelungeste n mod natural la un morsm de inele


Sen(g) : R[X] R

[X] prin Sen(g)(x) = x pentru orice x X.


Functorul
Mod : CRing Cat
op
asociaza ec arui inel comutativ R categoria R-algebrelor notat a Mod(R). O R-algebr a este o pereche (a, I)
unde a : R I este un morsm de inele.
Pentru orice morsm de inele : R

R functorul
Mod() : Mod(R) Mod(R

)
este denit prin:
Mod()(a, I) = (; a, I) pentru orice R-algebr a (a, I) si
Mod()(m) = m pentru orice morsm m de R-algebre.
Relat ia de satisfacere asa cum este denita mai jos reect a ideea ca ntro Ralgebr a polinomul are
r ad acini.
Pentru orice R-algebr a (a, I) si orice funct ie f : X I not am cu < a, f >: R[X] I unicul morsm
de inele a carui restrict ie la R este a si a carui restrict ie la X este f. Pentru orice R-algebr a (a, I) si orice
polinom p R[X], relat ia de satisfacere este denita prin:
(a, I) |=
R
p (s : X I) < a, s > (p) = 0.
Pentru orice morsm de signaturi, adic a de inele comutative : R

R, pentru orice R-algebr a (a, I)


si pentru orice funct ie s : X I observ am ca
Sen(); < a, s >=< ; a, s > .
Veric am condit ia de satisfacere. Fie : R

R un morsm de inele comutative, (a, I) o R-algebr a si


p R

[X]. Observ am ca armat ia


(a, I) |=
R
Sen()(p)
este succesiv echivalenta cu
(s : X I) < a, s > (Sen()(p)) = 0,
(s : X I) < ; a, s > (p) = 0,
(; a, I) |=
R
p,
Mod()(a, I) |=
R
p
deci condit ia de satisfacere este vericat a.
4.4. INSTITUTII 121
Institut ia calculului propozit ional
Fie X o mult ime de variabile propozit ionale si o signatura algebric a cu un singur sort, cu simbolurile de
funct ii
: bool bool si : bool bool bool.
Consideram T

(X), -algebra expresiilor booleene cu variabile din X. Ment ion am ca textul urmator este
independent de signatura aleas a pentru a deni expresiile calculului propozit ional.
Pentru institut ia calculului propozit ional categoria signaturilor este dat a de Set, categoria mult imilor.
O mult ime este o signatura deoarece n denit ia urmatoare se considera a mult imea variabilelor propo-
zit ionale folosite n construct ia expresiilor booleene.
Functorul Sen
Functorul Sen : Set Set se deneste pe obiecte prin Sen(X) = T

(X). Astfel se asociaza ec arei


mult imi de variabile propozit ionale X, mult imea suport a -algebrei T

(X) a expresiilor booleene cu


variabile din X formate cu ajutorul conectorilor logici dat i de signatura .
Fie f : X Y o funct ie si i
X
: X T

(X), i
Y
: Y T

(Y ) incluziuni. Atunci conform proprietat ii


de universalitate a -algebrei liber generate exista un unic -morsm Sen(f) : T

(X) T

(Y ) cu
proprietatea i
X
; Sen(f) = f; i
Y
, fapt reectat de comutativitatea diagramei de mai jos.
X
i
X

(X)
!Sen(f)

Y
i
Y

(Y )
Aratam ca Sen astfel denit este functor.
Mai intai legea compunerii. Fie f : X Y si g : Y Z dou a funct ii. Atunci conform diagramei de
mai jos si a modului n care a fost denit Sen rezult a ca
i
X
; Sen(f); Sen(g) = f; i
Y
; Sen(g) = f; g; i
Z
Din proprietatea de universalitate a -algebrei T

(X), partea cer and unicitatea, rezult a ca


Sen(f; g) = Sen(f); Sen(g).
X
i
X

(X)
!Sen(f)

!Sen(f;g)

Y
i
Y

(Y )
!Sen(g)

Z
i
Z

(Z)
Pentru o mult ime de variabile X si funct ia identitate 1
X
: X X observ am ca Sen(1
X
) = 1
T

(X)
= 1
Sen(X)
Functorul Mod
Vom nota cu B
2
algebra boolean a cu dou a elemente care n cele ce urmeaza este privita ca o -algebra.
Pentru o mult ime de variabile X denim Mod(X) ca ind categoria discreta (n care toate morsmele
sunt identitat i) ale carei obiecte sunt -morsmele h Alg

(T

(X), B
2
).
Ment ion am ca un functor ntre dou a categorii provenind din mult imi ca mai sus este pur si simplu o
funct ie. Pentru a deni Mod pentru funct ii consideram f : X Y o funct ie. Atunci
Mod(f) : Mod(Y ) Mod(X) sau
Mod(f) : Alg

(T

(Y ), B
2
) Alg

(T

(X), B
2
).
122 CHAPTER 4. INSTITUTII
Denim Mod(f) prin Mod(f)(h) = Sen(f); h pentru orice morsm h : T

(Y ) B
2
iar pentru morsme
Mod(f) duce identitat ile n identitat i. Din construct ie rezult a imediat ca pentru orice funct ie f : X Y ,
Mod(f) este functor.
Aratam ca Mod este functor.
Pentru compunere consideram X
f

Y
g

Z dou a funct ii si imaginile lor prin Mod


Alg

(T

(Z), B
2
)
Mod(g)

Alg

(T

(Y ), B
2
)
Mod(f)

Alg

(T

(X), B
2
)
Vericarea legii compunerii rezult a din sirul de egalit at i
Mod(f; g)(h) = Sen(f; g); h
= Sen(f); Sen(g); h
= Sen(f); Mod(g)(h)
= Mod(f)(Mod(g)(h))
= (Mod(g); Mod(f))(h)
Deci Mod(f; g) = Mod(g); Mod(f).
Pentru identitat i avem Mod(1
X
)(h) = Sen(1
X
); h = 1
T

(X)
; h = h pentru orice h Alg

(T

(X), B
2
),
deci Mod(1
X
) = 1
Alg

(T

(X),B
2
)
.
Relat ia de satisfacere
Fie X o mult ime de variabile, e Sen(X) si h Mod(X) = Alg

(T

(X), B
2
). Intuitiv, morsmul
h : T

(X) B
2
care d a valori de adevar variabilelor din X, satisface expresia e a calculului propozit ional
dac a rezultatul evalu arii expresiei e pentru valorile de adevar ale variabilelor din X este 1, adic a adevarul.
Denim relat ia de satisfacere |=
X
prin
h |=
X
e h(e) = 1
Veric am condit ia de satisfacere. Fie f : X Y o funct ie, e Sen(X), h

Mod(Y ). Atunci
Mod(f)(h

) |=
X
e Mod(f)(h

)(e) = 1
(Sen(f); h

)(e) = 1
h

(Sen(f)(e)) = 1
h

|=
Y
Sen(f)(e)
4.5 PREZENT

ARI
Observat ia 4.5.1 Fie f : A B o funct ie.
1. f(f
1
(D)) D pentru orice D B.
2. Dac a C A si D B atunci, f(C) D dac a si numai dac a C f
1
(D).
Propozit ie 4.5.2 Fie :
1
un morsm de signaturi, E Sen() ai E
1
Sen(
1
). Urm atoarele
armat ii sunt echivalente:
1. Sen()(E) E

1
,
2. E
1
|=

Sen()(E).
3. pentru orice M
1
|Mod(
1
)|, M
1
|=

1
E
1
= Mod()(M
1
) |=

E,
4.5. PREZENT

ARI 123
Demonstrat ie: Observat ia 4.4.7 dovedeste echivalent a primelor dou a armat ii, dar si echivalent a lor cu
E

1
Sen()(E)

.
Folosind lema 4.4.1 ultima incluziune este echivalenta cu
E

1
Mod()
1
(E

).
Prin urmare conform proprietat ii 2 din observat ia 4.5.1 este echivalenta cu
Mod()(E

1
) E

adic a pentru orice M


1
|Mod(
1
)|, M
1
E

1
implic a Mod()(M
1
) E

ceea ce, evident, este a treia


armat ie.
Denit ia 4.5.3 Se numeste prezentare o pereche (, E) unde |Sign|, si E Sen().
Un morsm de signaturi :

se numeste morsm de prezentari : (, E) (

, E

) dac a
satisface condit iile echivalente ale propozit iei precedente.
Observat ia 4.5.4 Dac a : (, E) (

, E

) este morsm de prezent ari, atunci : (, E

) (

, E

)
este tot morsm de prezent ari.
Demonstrat ie: Din ipoteza rezult a ca Sen()(E) E

de unde Sen()(E)

si, folosind lema


nchiderii, obt inem Sen()(E

) Sen()(E)

ceea ce demonstreaza concluzia.


Propozit ie 4.5.5 Compunerea ca morsme de signaturi a dou a morsme de prezent ari este tot un mor-
sm de prezent ari.
Demonstrat ie: Fie (, E)

(

, E

)

(

, E

) dou a morsme de prezent ari. Observ am c a


Sen()(E) = (Sen()Sen())(E) = Sen()(Sen()(E)) Sen()(E

) E

ultima incluziune dator andu-se observat iei anterioare.


4.5.1 Institut ia prezentarilor
Din propozit ia anterioar a obt inem ca mult imea prezentarilor unei institut ii I mpreuna cu morsmele de
prezentari formeaza o categorie, pe care o vom nota cu Pres(I).
Denim institut ia prezentarilor I
p
unei institut ii I. Categoria prezentarilor lui I devine categoria
signaturilor lui I
p
Sign
p
= Pres(I).
Notam cu V : Pres(I) Sign functorul uituc, denit prin V (, E) = pentru orice prezentare (, E)
si V () = pentru orice morsm de prezentari . Prin denit ie
Sen
p
= V ; Sen.
Folosind propozit ia 4.5.2 putem deni corespondentul lui Mod pentru categoria prezentarilor si anume
Mod
p
: Pres(I) Cat
op
.
Prin denit ie Mod
p
(, E) reprezinta subcategoria plin a dat a de toate modelele ce satisfac E. Pentru orice
morsm de prezentari : (, E) (

, E

) consideram diagrama
124 CHAPTER 4. INSTITUTII

`
Mod(

)
Mod
p
(

, E

)
Mod()
Mod
p
(, E)

Mod()
Mod
p
()
unde prin denit ie Mod
p
() este restrict ia si co-restrict ia lui Mod().
Este sucient s a mai denim relat ia de satisfacere si s a demonstram condit ia de satisfacere. Prin
denit ie
M |=
(,E)
e M |=

e
pentru orice (, E)-model M si orice e Sen().
Demonst am condit ia de satisfacere. Fie : (, E) (

, E

) un morsm de prezentari, M

un (

, E

)
model si e Sen().
Mod
p
()(M

) |=
(,E)
e
adic a Mod()(M

) |=

e este echivalenta conform condit iei de satisfacere din I cu M

|=

Sen()(e), deci
echivalenta cu
M

|=
(,E)
Sen
p
()(e).
4.6 TEORII
Se numeste teorie o prezentare (, E) cu E = E

. Deoarece este operator de nchidere rezult a ca teoriile


formeaza pentru ecare signatura cate o familie Moore n mult imea part ial ordonata prin incluziune a
mult imii p art ilor lui Sen(). Propozit ia urmatoare este un caz particular al propozit iei 1.3.8.
Propozit ie 4.6.1 Orice intersect ie de teorii este o teorie.
Propozit ie 4.6.2 Dac a :

este morsm de signaturi iar (

, E

) este o teorie atunci si


(, Sen()
1
(E

)) este teorie.
Demonstrat ie: Din lema nchiderii
Sen()(Sen()
1
(E

) Sen()(Sen()
1
(E

))

.
Folosind prima proprietate din observat ia 4.5.1 si faptul c a nchiderea este cresc atoare
Sen()(Sen()
1
(E

))

= E

.
Prin tranzitivitatea incluziunii
Sen()(Sen()
1
(E

) E

,
deci Sen()
1
(E

Sen()
1
(E

), conform propriet at ii a doua din observat ia 4.5.1.


4.6.1 Institut ia teoriilor
Un morsm de teorii este un morsm de prezentari ntre dou a teorii. Se obnt ine astfel o nou a categorie,
categoria teoriilor, notat a Th(I). Prin denit ie, Th(I) este o subcategorie plin a a lui Pres(I).
Putem considera restrict ia lui Mod
p
la categoria teoriilor pe care o vom nota cu Mod
t
.
Th(I) Pres(I) Cat
op
Mod
p
Mod
t


`
4.7. INSTITUTIA LOGICII ECUATIONALE MULTISORTATE 125
4.7 INSTITUTIA LOGICII ECUATIONALE MULTISORTATE
Institut ia logicii ecuat ionale multisortate este urmatoarea construct ie
Sig
Set
Cat
op
Sen
Alg
>
>
>
>
>

unde categoria Sig a signaturilor algebrice, functorii Alg si Sen si relat ia de satisfacere |=

vor denite
n sect iunile urmatoare.
4.7.1 Categoria signaturilor algebrice Sig
Denit ia 4.7.1 Fie S o mult ime si = {
w,s
}
wS

,sS
o familie de mult imi. Perechea
(S, {
w,s
}
wS

,sS
) se numeste signatura algebrica.

In cele ce urmeaza vom folosi si notat iile (S,


w,s
) sau (S, ).
Vom nota cu Sig categoria signaturilor algebrice construita astfel :
Obiectele categoriei Sig sunt signaturile algebrice.
Daca (S,
w,s
) si (S

,s

) sunt dou a signaturi algebrice, morsmele categoriei Sig ntre obiectele


(S,
w,s
) si (S

,s

) sunt de forma
= (f, {g
w,s
}
wS

,sS
) : (S,
w,s
) (S

,s
),
unde f : S S

si g
w,s
:
w,s

(w),f(s)
pentru orice w S

, s S sunt funct ii. (Am notat cu


f

: S

funct ia denita prin f

(s
1
s
2
. . . s
n
) = f(s
1
)f(s
2
) . . . f(s
n
), pentru orice n IN, si s
i
S
pentru orice 1 i n).

In cele ce urmeaza vom utiliza si notat ia = (f, g).


Operat ia de compunere a morsmelor se deneste astfel :
Fie = (f, g) : (S, ) (S

) si

= (f

, g

) : (S

) (S

) dou a morsme. Atunci


;

: (S, ) (S

) este morsmul
;

= (f; f

, {g
w,s
; g

(w),f(s)
}
wS

,sS
).
Propozit ie 4.7.2 Sig este o categorie.
Demonstrat ie: Pentru orice signatura algebric a (S, ) morsmul identic este 1
(S,)
= (1
S
, {1
w,s
}
wS

,sS
).

In plus, operat ia de compunere a morsmelor este asociativa.



Intr-adevar, e
= (f, g) : (S, ) (S

),

= (f

, g

) : (S

) (S

) si

= (f

, g

) : (S

) (S

) trei morsme de signaturi algebrice. Atunci


(;

);

= ((f; f

); f

, (g
w,s
; g

(w),f(s)
); g

(f;f

(w),(f;f

)(s)
)
= (f; (f

; f

), g
w,s
; (g

(w),f(s)
; g

(f

(w)),f

(f(s))
))
= (f, g); (f

; f

, g

,s
; g

(w

),f

(s

)
)
= ; (

)
Deci Sig este categorie.
126 CHAPTER 4. INSTITUTII
4.7.2 Functorul Alg
Denim functorul
Alg : Sig Cat
op
.
Pe obiecte:
Alg(S, ) = Alg

,
pentru orice (S, ) |Sig|, unde Alg

este categoria -algebrelor.


Un obiect A din |Alg

| este de forma A = (A, {A


w,s
}
wS

,sS
), unde
A : S Set si A
w,s
:
w,s
(A
w
A
s
) pentru orice w S

, s S sunt funct ii.


Vom nota A
s
= A(s), pentru orice s S. Reamintim ca A
s
1
s
2
...sn
= A
s
1
A
s
2
A
sn
. Daca
w,s
n loc de A
w,s
() mai scriem A
w,s

sau chiar A

dac a nu este pericol de confuzie.


Pe morsme: pentru orice (f, g) Sig((S, ), (S

)), functorul
Alg(f, g) : Alg

Alg

este denit astfel:


a) Pe obiecte: Fie (A, {A
w,s
}
wS

,sS
) o

algebr a. Atunci
Alg(f, g)(A, {A
w

,s

}
w

,s

S
) = (f; A, {g
w,s
; A
f

(w),f(s)
}
wS

,sS
) |Alg

|
Din f : S S

si A : S

Set rezult a ca f; A : S Set. Conform notat iei precedente,


A
f(s)
= (f; A)
s
pentru orice s S. Prin urmare elementele de sort s din Alg(f, g)(A, {A
w

,s

}
w

,s

S
)
sunt elementele de sort f(s) din (A, {A
w

,s

}
w

,s

S
).
Observat ie: Daca w = s
1
. . . s
n
, atunci
(f; A)
w
= (f; A)
s
1
(f; A)
sn
= A
f(s
1
)
A
f(sn)
= A
f(s
1
)...f(sn)
= A
f

(w)
.
Deoarece g
w,s
:
w,s

(w),f(s)
si A
f

(w),f(s)
:

(w),f(s)
(A
f

(w)
A
f(s)
) rezult a ca
g
w,s
; A
f

(w),f(s)
:
w,s
((f; A)
w
(f; A)
s
), pentru orice w S

si orice s S.
b) Pe morsme : Fie h : (A, A
w

,s

) (B, B
w

,s

) un morsm de

algebre. Denim
Alg(f, g)(h) : (f; A, {g
w,s
; A
f

(w),f(s)
}) (f; B, {g
w,s
; B
f

(w),f(s)
}) prin
Alg(f, g)(h) = f; h,
unde (f; h)(s) = h
f(s)
: A
f(s)
B
f(s)
pentru orice s S.
Aratam ca denit ia este corect a, adic a familia de funct ii f; h este un morsm de algebre. Aceasta
revine la a ar ata ca pentru orice w S

, orice s S si orice
w,s
diagrama urmatoare este comutativa

(f; A)
w
(f; B)
w
(f; A)
s
(f; B)
s
(f;h)w (f;h)s

(gw,s;A
f

(w),f(s)
)()
(gw,s;B
f

(w),f(s)
)()
Comutativitatea diagramei precedente este echivalenta cu comutativitatea diagramei
4.7. INSTITUTIA LOGICII ECUATIONALE MULTISORTATE 127

A
f

(w)
B
f

(w)
A
f(s)
B
f(s)
h
f

(w)
h
f(s)

A
f

(w),f(s)
(gw,s())
B
f

(w),f(s)
(gw,s())
iar aceasta rezult a din faptul ca h este morsm de

algebre.
Propozit ie 4.7.3 Alg(f,g) este functor.
Demonstrat ie: Daca 1
A
este morsmul identic al unei -algebre, atunci Alg(f, g)(1
A
) = 1
Alg(f,g)(A)
.
Fie h : A B si h

: B C dou a morsme de

algebre. Prin urmare pentru orice s S


(Alg(f, g)(h); Alg(f, g)(h

))
s
= Alg(f, g)(h)
s
; Alg(f, g)(h

)
s
= (f; h)
s
; (f; h

)
s
= h
f(s)
; h

f(s)
= (h; h

)
f(s)
= (f; (h; h

))
s
= (Alg(f, g)(h; h

))
s
,
deci Alg(f, g)(h); Alg(f, g)(h

) = Alg(f, g)(h; h

). Asadar Alg(f, g) este functor.


Propozit ie 4.7.4 Alg este functor.
Demonstrat ie: Pentru orice signatura algebric a (S, ) avem evident Alg(1
(S,)
) = 1
Alg

.
Fie = (f, g) : (S, ) (S

) si

= (f

, g

) : (S

) (S

) dou a morsme de signaturi


algebrice. Vom ar ata ca functorii Alg(

); Alg() si Alg(;

) coincid, demonstrand ca act ioneaz a identic


pe obiecte si pe morsme.
Fie A = (A, {A
w,s
}
wS

,sS
) o

algebr a. Atunci
(Alg(

); Alg())(A) = Alg()(Alg(

)(A)) = Alg()(f

; A, {g

w,s
; A
f

(w),f

(s)
}
wS

,sS
) =
= (f; (f

; A), {g
w,s
; (g

(w),f(s)
; A
f

(f

(w)),f

(f(s))
)}
wS

,sS
)
= ((f; f

); A, {(g
w,s
; g

(w),f(s)
); A
(f;f

(w)),(f;f

)(s)
}
wS

,sS
)
= Alg(f; f

, {g
w,s
; g

(w),f(s)
})(A) = Alg(;

)(A).
Pentru orice morsm de

algebre h : A B
(Alg(

); Alg())(h) = Alg(f, g)(Alg(f

, g

)(h)) = Alg(f, g)(f

; h) = f; (f

; h) = (f; f

); h = Alg(;

)(h).
Deci Alg(); Alg(

) = Alg(;

),oricare ar morsmele de signaturi algebrice si

. Asadar Alg este


functor.
4.7.3 Functorul Sen
Un comentariu este necesar pentru a motiva prezentarea de mai jos.
Propozit iile logicii ecuat ionale sunt si propozit ii ale calculului cu predicare cu egalitate. Reciproca nu
este adevarat a.

In multe variante ale calculului cu predicate apar variabile libere si variabile legate, fapt
128 CHAPTER 4. INSTITUTII
ce ngreuneaza, cel putin din punct de vedere tehnic, atat expunerea cat si int elegerea. Vom folosi din
nou articiul de transformare a variabilelor n operat ii constante. Dup a cum am mai facut-o n capitolele
precedente, aceast a transformare a variabilelor n constante se realizeaz a prin schimbarea signaturii. Acest
fapt explica utilizarea unei algebre init iale n locul unei algebrei libere pentru modelarea expresiilor din
calculul cu predicate.
Pentru orice morsm de signaturi algebrice : (S, ) (S

), not am cu
#
: T

Alg()(T

)
unicul morsm de algebre. Reamintim ca T

este algebra init iala.


Denim functorul Sen : Sig Set astfel :
1. Pe obiecte : Pentru orice signatura algebric a
Sen() = T

= {l

=
s
r|s S, l, r (T

)
s
}
sS
.
2. Pe morsme : Pentru orice morsm de signaturi algebrice : (S, ) (S

) funct ia
Sen() : Sen() Sen(

) este denita prin


Sen()(l

=
s
r) =
#
s
(l)

=
f(s)

#
s
(r).
Propozit ie 4.7.5 Sen este functor.
Demonstrat ie:
Fie = (f, g) : (S, ) (S

) si = (f

, g

) : (S

) (S

) dou a morsme de signaturi


algebrice. Deoarece Alg()(Alg()(T

)) = (Alg(); Alg())(T

) = Alg(; )(T

) si

#
: T

Alg()(T

), deducem
Alg()(
#
) : Alg()(T

) Alg(; )(T

),
prin urmare exista dou a morsme
T

Alg(; )(T

#
; Alg()(
#
)
(; )
#
care deoarece T

este algebra init iala sunt egale. Asadar avem


(Sen(); Sen())(l

=
s
r) = Sen()(
#
s
(l)

=
f(s)

#
s
(r))
= (
#
f(s)
(
#
s
(l))

=
f

(f(s))

#
f(s)
(
#
s
(r))
= (
#
s
; Alg()(
#
)
s
)(l)

=
(f;f

)(s)
(
#
s
; Alg()(
#
)
s
)(r)
= (; )
#
s
(l)

=
(f;f

)(s)
(; )
#
s
(r)
= Sen(; )(l

=
s
r),
deci Sen este functor.
4.7.4 Incluziuni de signaturi
Denit ia 4.7.6 O incluziune de signaturi este un morsm de signaturi
= (f, g) : (S, ) (S

)
care veric a condit iile suplimentare
4.7. INSTITUTIA LOGICII ECUATIONALE MULTISORTATE 129
1. S este o submult ime a lui S

si f este funct ia incluziune a lui S n S

2. Pentru orice w S

si s S,
w,s
este o submult ime a lui

(w),f(s)
si funct ia g
w,s
este incluziunea
dintre cele dou a mult imi.
Propozit ie 4.7.7 Dac a este o incluziune de signaturi, atunci Alg() este un functor uituc.
Cuanticarea .s are rolul de a indica sortul.
Fie (S, ) o signatura algebric a. Vom nota cu L

o anumit a -algebra init iala. Suportul ei este denit


drept cea mai mic a familie {T
s
}
sS
de mult imi cu proprietatea

s
1
s
2
...sn,s
, x
i
T
s
i
= (x
1
, x
2
, . . . , x
n
).s T
s
.
Folosind construct ia de mai sus observ am ca pentru orice incluziune de signaturi i : (S, ) (S

)
obt inem (L

)
s
(L

)
s
pentru orice s S. Mai mult L

este subalgebra a lui Alg(i)(L

), morsmul de
incluziune al subalgebrei L

n algebra Alg(i)(L

) ind chiar i
#
.
Propozit ie 4.7.8 Dac a i este o incluziune de signaturi, atunci Sen(i) este o incluziune de mult imi.
4.7.5 Relat ia si condit ia de satisfacere
Vom deni n continuare relat ia de satisfacere.
Denit ia 4.7.9 Fie A o algebra. Spunem ca A satisface ecuat ia l

=
s
r dac a si numai dac a
u
s
(l) = u
s
(r) pentru unicul morsm u : T

A.
Notat ii 4.7.10 Dac a A satisface l

=
s
r, vom nota A |=

l

=
s
r.
Cu aceast a denit ie are loc
Propozit ie 4.7.11 Fie = (f, g) : (S, ) (S

) un morsm de signaturi algebrice, l



=
s
r Sen()
si B o

algebr a. Atunci este ndeplinit a condit ia de satisfacere


Alg()(B) |=

l

=
s
r B |=

Sen()(l

=
s
r).
Demonstrat ie: Notand cu t : T

B unicul

-morsm deducem ca

#
; Alg()(t) : T

Alg()(B)
este unicul -morsm. Din denit ia relat iei de satisfacere deducem urmatoarele echivalent e:
Alg()(B) |=

l

=
s
r
(
#
; Alg()(t))
s
(l) = (
#
; Alg()(t))
s
(r)
(
#
s
; Alg()(t)
s
)(l) = (
#
s
; Alg()(t)
s
)(r)
t
f(s)
(
#
s
(l)) = t
f(s)
(
#
s
(r))
B |=


#
s
(l)

=
f(s)

#
s
(r)
B |=

Sen()(l

=
s
r).
Cu aceasta condit ia de satisfacere este demonstrata.
130 CHAPTER 4. INSTITUTII
Chapter 5
MODULARIZARE
5.1 LIMITE si COLIMITE

INTR-O CATEGORIE
Limitele si colimitele sunt not iuni duale. Din punct de vedere tehnic nu conteaza pe care o trat am. Vom
prefera colimitele deoarece au mai multe aplicat ii n informatic a.
Denit ia 5.1.1 Fie F : I C un functor. Un cocon sau con inductiv F(i)

i
A pentru functorul F
este format dintr-un obiect A din categoria C si o familie de morsme
i
: F(i) A indexata de obiectele
i ale categoriei I cu proprietatea F();
j
=
i
pentru orice morsm : i j din I.

In loc de F(i)

i
A mai scriem si (
i
, A).
Numele coconului provine din cel al conceptului dual numit con
Compunerea unui cocon cu un morsm este tot un cocon.
Observat ia 5.1.2 Dac a F(i)

i
A este un cocon pentru F : I C si dac a f : A B este un
morsm, atunci F(i)

i
;f
B este un cocon pentru F.
Demonstrat ie: Pentru orice morsm : i j din I, din F();
j
=
i
deducem F(); (
j
; f) =
i
; f
deci F(i)

i
;f
B este un cocon pentru F.
Orice functor duce un cocon ntrun cocon.
Observat ia 5.1.3 Dac a F(i)

i
A este un cocon pentru F : I C si dac a G : C D este un functor,
atunci G(F(i))
G(
i
)
G(A) este un cocon pentru F; G.
Demonstrat ie: Pentru orice morsm : i j din I, din F();
j
=
i
deducem
(F : G)(); G(
j
) = G(F()); G(
j
) = G(F();
j
) = G(
i
),
deci G(F(i))
G(
i
)
G(A) este cocon pentru F; G.
131
132 CHAPTER 5. MODULARIZARE
Denit ia 5.1.4 Un cocon F(i)

i
A pentru functorul F : I C se numeste colimita a lui F dac a
pentru orice alt cocon F(i)

i
B exista un unic morsm f : A B pentru care
i
; f =
i
pentru orice
obiect i din I. Vom utiliza notat ia
colim F = F(i)

i
A.
Denit ia 5.1.5 O categorie se numeste mic a dac a obiectele sale formeaza o mult me.
Un caz particular de colimite sunt sumele directe, numite si coproduse. Ele se obt in pentru o categorie
mic a I n care toate morsmele sunt identitat i, adic a o mult ime. Un functor de la I la categoria C este de
fapt o familie {F(i)}
iI
de obiecte din C indexata de mult imea I. Observ am ca un cocon pentru F este
pur si simplu o familie de morsme
i
: F(i) A, deoarece condit ia impusa mai sus pentru morsmele
din I este automat ndeplinita pentru morsmele identitate.
Denit ia 5.1.6 Familia de morsme
i
: F(i) A este o suma direct a a familiei de obiecte {F(i)}
iI
dac a pentru orice alta familie de morsme
i
: F(i) B indexata de obiectele i din I exista un unic
morsm f : A B cu proprietatea
i
; f =
i
pentru orice obiect i din I.
Ment ion am ca n categoria atasat a unei mult imi part ial ordonate sumele directe, dac a exista, coincid
cu supremurile.
5.1.1 Colimite de mult imi
Propozit ie 5.1.7

In cazul particular al teoriei multimilor, suma direct a a unei familii {F
i
}
iI
de mult imi
este reuniunea lor disjunct a A =

iI
F
i
{i} mpreun a cu familia de funct ii {
i
: F
i
A}
iI
denit a
pentru orice obiect i din I si orice a F
i
prin
i
(a) = (a, i).
Demonstrat ie: Fie {
i
: F
i
B}
iI
o familie de funct ii. Denim funct ia : A B prin (a, i) =

i
(a) pentru orice i I si a F
i
. Observ am ca pentru orice i I si a F
i
(
i
; )(a) = (
i
(a)) = (a, i) =
i
(a).
Deci pentru orice i I rezult a ca
i
; =
i
.
Pentru a proba unicitatea presupunem ca funct ia : A B veric a egalitatile
i
; =
i
pentru orice
i I. Observ am pentru orice i I si orice a F
i
ca
(a, i) = (
i
(a)) = (
i
; )(a) =
i
(a) = (a, i)
deci = .
Denit ia 5.1.8 Categoria C are colimite dac a orice functor F : I C denit pe o categorie mic a I
are o colimit a.
5.1. LIMITE SI COLIMITE

INTR-O CATEGORIE 133
Propozit ie 5.1.9 Categoria mult imilor are colimite.
Demonstrat ie: Fie I o categorie mic a si F : I Set un functor. Vom construi o colimit a pentru F.
Fie (
i
, A) suma direct a a familiei de mult imi {F(i)}
i|I|
construita ca mai sus. Denim n mult imea
A relat ia
R = {((a, i), (F()(a), j)) : i, j |I|, a F(i), I(i, j)}.
Fie relat ia de echivalent a generat a de R, adic a cea mai mic a relat ie de echivalent a din A care include
R. Fie A/ catul lui A prin echivalent a si s : A A/ surject ia canonic a care duce ecare element
din An clasa sa de echivalent a. Vom proba ca
F(i)

i
;s
A/
este o colimit a a functorului F.
Probam ca F(i)

i
;s
A/ este cocon. Fie I(i, j) un morsm din I. Pentru orice a F(i) observ am
ca
(F(); (
j
; s))(a) = (
j
; s)(F()(a)) = s(
j
(F()(a))) = s(F()(a), j) = s(a, i) = (
i
; s)(a)
deci F(); (
j
; s) =
i
; s.
Fie F(i)

i
B un alt cocon pentru functorul F. Deoarece F(i)

i
A este suma direct a exista un
unic morsm f : A B cu proprietatea
i
; f =
i
pentru orice obiect i din I. Probam ca relat ia R este
inclusa n echivalent a nuclear a a lui f. Fie I(a, b) un morsm din I si a F(i). Observ am ca
f(F()(a), j) = f(
j
(F()(a))) = (
j
; f)(F()(a)) =
j
(F()(a)) = (F();
j
)(a) =
(deoarece {
i
} este cocon) =
i
(a) = (
i
; f)(a) = f(
i
(a)) = f(a, i).
Rezulta ca este inclusa n echivalent a nuclear a a lui f, prin urmare exista o unic a funct ie g : A/ B
cu proprietatea s; g = f. Deci
(
i
; s); g =
i
; (s; g) =
i
; f =
i
.
Daca h : A/ B este o alta funct ie cu proprietatea (
i
; s); h =
i
pentru orice obiect i din I.
Deoarece
i
; (s; h) =
i
pentru orice obiect i din I deducem s; h = f, prin urmare din s; h = s; g deducem
datorit a surjectivitat ii lui s ca h = g.
Observat ia 5.1.10 Familia de funct ii F(i)

i
;s
A/ are proprietatea
pentru orice b A/ exist a i |I| si a F(i) cu proprietatea b = (
i
; s)(a)
fapt pentru care se numeste epimorf a.
Demonstrat ie: Fie b A/. Deoarece funct ia s : AA/ este surjectiva exista c A cu propietatea
b = s(c). Din denit ia lui A exista i |I| si a F(i) astfel nc at c = (a, i). Prin urmare
(
i
; s)(a) = s(
i
(a)) = s(a, i) = s(c) = b.
5.1.2 Despre unicitatea colimitelor
Pentru un functor dat F : I C colimitele lui sunt unice abstract ie facand de un izomorsm. Acest fapt
este ilustrat de urmatoarele dou a propozit ii.
Propozit ie 5.1.11 Dac a (
i
, A) este o colimit a a functorului F : I C si j : A B un izomorsm,
atunci (
i
; j, B) este o colimit a a lui F.
134 CHAPTER 5. MODULARIZARE
Demonstrat ie: Observ am ca (
i
; j, B) este cocon deoarece se obt ine din alt cocon prin compunere cu
un morsm.
Fie (
i
, C) un cocon pentru F. Deoarece (
i
, A) este o colimit a a functorului F : I C exista un
unic morsm f : A C cu proprietatea
i
; f =
i
pentru orice obiect i din I.
Observ am ca (
i
; j); (j
1
; f) =
i
pentru orice obiect i din I.

In plus dac a g : B C este un alt
morsm cu proprietatea (
i
; j); g =
i
pentru orice obiect i din I, deducem
i
; (j; g) =
i
pentru orice
obiect i din I. Prin urmare f = j; g, deci g = j
1
; f.
Propozit ie 5.1.12 Dou a colimite ale aceluiasi functor sunt izomorfe.
Demonstrat ie: Fie (
i
, A) si (
i
, B) dou a colimite ale functorului F : I C.
Deoarece (
i
, A) este o colimit a a functorului F : I C si (
i
, B) este cocon pentru F exista un unic
morsm f : A B cu proprietatea
i
; f =
i
pentru orice obiect i din I.
Deoarece (
i
, B) este o colimit a a functorului F : I C si (
i
, A) este cocon pentru F exista un unic
morsm g : B A cu proprietatea
i
; g =
i
pentru orice obiect i din I.
Deoarece
i
; (f; g) = (
i
; f); g =
i
; g =
i
=
i
; 1
A
pentru orice obiect i din I. T in and cont ca (
i
, A)
este o colimit a a functorului F : I C deducem din unicitate ca f; g = 1
A
.
Deoarece
i
; (g; f) = (
i
; g); f =
i
; f =
i
=
i
; 1
B
pentru orice obiect i din I. T in and cont ca (
i
, B)
este o colimit a a functorului F : I C deducem din unicitate ca g; f = 1
B
.
Egalit at ile f; g = 1
A
si g; f = 1
B
arat a ca f si g sunt izomorsme inverse unul altuia.
5.1.3 Crearea colimitelor
Denit ia 5.1.13 Fie F : I C un functor si (
i
, C) o colimit a a sa. Spunem ca functorul G : C D
conserva colimita (
i
, C) dac a (G(
i
), G(C)) este o colimit a a functorului F; G. Spunem ca functorul
G : C D conserv a colimitele dac a el conserv a orice colimit a a oric arui functor F : I C.
Observat ia 5.1.14 Dac a functorul G : C D conserv a o colimit a a functorului F : I C, atunci
functorul G conserv a orice colimit a a functorului F.
Demonstrat ie: Consideram o colimit a a functorului F
Colim F = (
i
, C).
pe care functorul G o duce ntr-o colimit a a functorului F; G
Colim F; G = (G(
i
), G(C)).
Fie (

i
, C

) o alta colimit a a functorului F.


Cele dou a colimite ale lui F ind izomorfe rezult a existent a izomorsmului f : C C

cu proprietatea

i
; f =

i
pentru orice obiect i din I.
Aplicand GdeducemG(
i
); G(f) = G(

i
). Deoarece G(f) este izomorsmsi Colim F; G = (G(
i
), G(C))
rezult a ca (G(

i
), G(C

)) este o colimit a a functorului F; G.


Denit ia 5.1.15 Functorul G : C D creaza slab(creaza) colimitele dac a pentru orice functor
F : I C si pentru orice colimit a G(F(i))

i
D functorului F; G exista(si e unic a) o colimit a F(i)

i
C
a functorului F cu proprietat ile G(C) = D si G(
i
) =
i
pentru orice obiect i din I.
5.2. COLIMITE DE SIGNATURI ALGEBRICE 135
Propozit ie 5.1.16 Dac a categoria D are colimite si functorul G : C D creaz a slab colimitele, atunci
categoria C are colimite si functorul G comut a cu colimitele.
Demonstrat ie: Fie F : I C un functor si o colimit a a functorului F; G
Colim F; G = G(F(i))

i
D.
Deoarece functorul G : C D creaz a slab colimitele exista o colimit a F(i)

i
C a functorului F cu
proprietat ile G(C) = D si G(
i
) =
i
pentru orice obiect i din I. Am probat existent a unei colimite a lui
F cu care G comut a. Este acum sucient s a aplic am observat ia precedenta.
5.2 COLIMITE DE SIGNATURI ALGEBRICE
Functorul uituc U : Sig Set este denit astfel:
pe obiecte: pentru orice signatura algebric a (S, ) |Sig|
U(S, ) = S;
pe morsme: pentru orice morsm de signaturi algebrice (f, g) : (S, ) (S

)
U(f, g) = f.
Teorema 5.2.1 Functorul uituc U : Sig Set creaz a slab(dar nu creaz a) colimitele.
Demonstrat ie: Fie I o categorie mic a si F : I Sig un functor. Folosim urmatoarele notat ii:
F(i) = (S
i
,
i
) pentru orice obiect i |I|,
F() = (f

, g

) : (S
i
,
i
) (S
j
,
j
) pentru orice morsm I(i, j).
Daca : i j si : j k sunt morsme din I din F(; ) = F(); F(), adic a
(f
;
, g
;
w
i
,s
i
) = (f

; f

, g

w
i
,s
i
; g

(w
i
),f(s
i
)
)
deducem
f
;
= f

; f

si g
;
w
i
,s
i
= g

w
i
,s
i
; g

(w
i
),f(s
i
)
(5.1)
pentru orice w
i
S

i
si s
i
S
i
.
Fie
colimF; U = (f
i
, S) = S
i
f
i
S (5.2)
Observ am ca pentru orice morsm : i j din I
f
i
= f

; f
j
. (5.3)
Pentru orice w S

si s S vom constui mult imea


w,s
. Denim categoria mic a C
w,s
astfel:
pe obiecte:
|C
w,s
| = { (i, w
i
, s
i
) | i |I|, w
i
S

i
, s
i
S
i
, cu f

i
(w
i
) = w, f
i
(s
i
) = s },
136 CHAPTER 5. MODULARIZARE
pe morsme:
C
w,s
((i, w
i
, s
i
), (j, w
j
, s
j
)) = { I(i, j) | f

(w
i
) = w
j
, f

(s
i
) = s
j
}.
Compunerea morsmelor din C
w,s
se face ca n categoria I. Pentru morsmele : (i, w
i
, s
i
) (j, w
j
, s
j
)
si : (j, w
j
, s
j
) (k, w
k
, s
k
) observ am ca
(f
;
)(s
i
) = f

(f

(s
i
)) = f

(s
j
)) = s
k
si ca (f

;
)(w
i
) = f

(f

(w
i
)) = f

(w
j
)) = w
k
,
ceea ce arat a ca
C
w,s
((i, w
i
, s
i
), (j, w
j
, s
j
)) si C
w,s
((j, w
j
, s
j
), (k, w
k
, s
k
)) implic a ; C
w,s
((i, w
i
, s
i
), (k, w
k
, s
k
)).
Denim functorul
G
w,s
: C
w,s
Set
pe obiecte:
G
w,s
(i, w
i
, s
i
) =
i
w
i
,s
i
;
si pe morsme: pentru orice C
w,s
((i, w
i
, s
i
), (j, w
j
, s
j
))
G
w,s
() = g

w
i
,s
i
:
i
w
i
,s
i

j
w
j
,s
j
.
Pentru morsmele : (i, w
i
, s
i
) (j, w
j
, s
j
) si : (j, w
j
, s
j
) (k, w
k
, s
k
) observ am ca
G
w,s
(); G
w,s
() = g

w
i
,s
i
; g

w
j
,s
j
= g

w
i
,s
i
; g

(w
i
),f(s
i
)
= g
;
w
i
,s
i
= G
w,s
(; )
Fie
colim G
w,s
= (g
i
w
i
,s
i
,
w,s
) =
i
w
i
,s
i
g
i
w
i
,s
i

w,s
(5.4)
deoarece f

i
(w
i
) = w si f

i
(s
i
) = s pentru orice (i, w
i
, s
i
) |C
w,s
|.
Pentru orice i |I|, w
i
S

i
si s
i
S
i
, pentru w = f

i
(w
i
) si s = f

i
(s
i
) constat am existent a morsmului
g
i
w
i
,s
i
:
i
w
i
,s
i

f

i
(w
i
),f
i
(s
i
)
.
Vom dovedi
colim F = ((f
i
, g
i
), (S, )) = (S
i
,
i
)
(f
i
,g
i
w
i
,s
i
)
(S, ).
A. Pentru nceput ar atam ca ((f
i
, g
i
), (S, )) este un con inductiv de baz a F.
Pentru I(i, j) probam ca (f

, g

)(f
j
, g
j
) = (f
i
, g
i
).
Deoarece egalitatea f

; f
j
= f
i
este evidenta conform (5.3) mai trebuie probat pentru w
i
S

i
si s
i
S
i
ca
g

w
i
,s
i
g
j
f

(w
i
),f(s
i
)
= g
i
w
i
,s
i
Denind w = f

i
(w
i
) si s = f
i
(s
i
) observ am ca (i, w
i
, s
i
) |C
w,s
|. Deoarece w = f

j
(f

(w
i
)) si
s = f
j
(f

(s
i
)) observ am ca (j, f

(w
i
), f

(s
i
)) |C
w,s
| si ca : (i, w
i
, s
i
) (j, f

(w
i
), f

(s
i
)) este morsm
n C
w,s
. Proprietatea de con inductiv a lui (g
i
w
i
,s
i
,
w,s
) aplicat a lui implic a comutativitatea urmatoarei
diagrame:
5.2. COLIMITE DE SIGNATURI ALGEBRICE 137
G
w,s
(i, w
i
, s
i
) =
i
w
i
,s
i

G
w,s
() = g

w
i
,s
i

j
f

(w
i
),f(s
i
)
=
G
w,s
(j, f

(w
i
), f

(s
i
))

g
i
w
i
,s
i

g
j
f

(w
i
),f(s
i
)

w,s
Comutativitatea diagramei este chiar egalitatea de mai sus.
B. Fie ((u
i
, v
i
), (S

) alt con inductiv de baz a F.


Deoarece (u
i
, S

) este con inductiv de baz a F; U exista un unic morsm f : S S

cu proprietatea
f
i
; f = u
i
pentru orice i |I|.
S
i

f
i
S

u
i

f
S

Pentru orice i |I|, orice w


i
S

i
si orice s
i
S consideram morsmul
v
i
w
i
,s
i
:
i
w
i
,s
i

i
(w
i
),u
i
(s
i
)
Daca (i, w
i
, s
i
) |C
w,s
| utiliz and f

(w) = f

(f

i
(w
i
)) = u

i
(w
i
) si f(s) = u
i
(s
i
) observ am ca
v
i
w
i
,s
i
: G
w,s
(i, w
i
, s
i
)

(w),f(s)
.
Pentru orice w S

si s S probam ca
(v
i
w
i
,s
i
,

(w),f(s)
)
este cocon pentru G
w,s
. Intr-adevar pentru orice morsm de la (i, w
i
, s
i
) la (j, w
j
, s
j
) din C
w,s
din
proprietatea de cocon a lui ((u
i
, v
i
), (S

)) aplicat a morsmului : i j obt inem comutativitatea


diagramei
138 CHAPTER 5. MODULARIZARE
(S
i
,
i
)

(f

, g

)
(S
j
,
j
)

(u
i
, v
i
)

(u
j
, v
j
)
(S

)
prin urmare folosind compenentele de pe a doua pozit ie deducem g

w
i
,s
i
v
j
w
j
,s
j
= v
i
w
i
,s
i
, deci urmatoarea
diagrama este comutativa

i
w
i
,s
i

G
w,s
() = g

w
i
,s
i

j
w
j
,s
j

v
i
w
i
,s
i

v
j
w
j
,s
j

w,s
Prin urmare pentru orice w S

si s S exista un unic morsm g


w,s
:
w,s

f(w),f(s)
cu
proprietatea g
i
w
i
,s
i
; g
w,s
= v
i
w
i
,s
i
pentru orice (i, w
i
, s
i
) |Cw, s|.
G
w,s
(i, w
i
, s
i
) =
i
w
i
,s
i

g
i
w
i
,s
i

w,s

v
i
w
i
,s
i

g
w,s

(w),f(s)
Deoarece g
i
w
i
,s
i
; g
f

i
(w
i
),f
i
(s
i
)
= v
i
w
i
,s
i
deducem ca (f
i
, g
i
); (f, g) = (u
i
, v
i
).
5.3. FUNCTORUL ALG CONSERV

A COLIMITELE 139
(S
i
,
i
)

(f
i
, g
i
)
(S, )

(u
i
, v
i
)

(f, g)
(S

)
Unicitatea se arat a usor.
Folosind propozit ia 5.1.16 si existent a colimitelor din Set deducem
Corolar 5.2.2 Categoria signaturilor algebrice are colimite si functorul uituc comut a cu colimitele.
5.3 FUNCTORUL Alg CONSERV

A COLIMITELE
Reamintim denit ia functorului
Alg : Sig Cat
op
dupa cum urmeaza:
1) pe obiecte: pentru orice signatura algebric a (S, )
Alg(S, ) = Alg

este categoria -algebrelor.


Un obiect A din Alg

este de forma: A = (A, {A


w,s
}
wS

,sS
) unde
A : S Set si A
w,s
:
w,s
(A
w
A
s
) pentru orice w S

, s S.
2) pe morsme: pentru orice morsm de signaturi (f, g) : (S, ) (S

)
Alg(f, g) : Alg

Alg

,
este functorul denit astfel:
) pe obiecte: pentru orice

-algebra (A, {A
w,s
}
wS

,sS
)
Alg(f, g)(A, {A
w,s
}
wS

,sS
) = (f; A, {g
w,s
; A
f

(w),f(s)
}
wS

,sS
) |Alg

|. (5.5)
Din f : S S

si A : S

Set rezult a ca
f; A : S Set;
Pentru orice w S

ai s S din g
w,s
:
w,s

(w),f(s)
si
A
f

(w),f(s)
:

(w),f(s)
(A
f

(w)
A
f(s)
) deducem
g
w,s
; A
f

(w),f(s)
:
w,s
((fA)
w
(fA)
s
).
) pe morsme: pentru orice morsm h de -algebre
Alg(f, g)(h) = f; h. (5.6)
140 CHAPTER 5. MODULARIZARE
5.3.1 Alg conserva colimitele
Fie I o categorie mic a si F : I Sig un functor. Folosim aceleasi notat ii si construim ca n sect iunea
anterioar a
colim F = ((f
i
, g
i
), (S, )) = (S
i
,
i
)
(f
i
,g
i
w
i
,s
i
)
(S, ).
Vom ar ata in continuare ca functorul Alg comut a cu colimitele, adic a limita functorului F; Alg este
Alg(f
i
, g
i
) : Alg

Alg

i .
Este un con ind obt inut prin aplicarea functorului contravariant Alg unui cocon.
Fie C o categorie si pentru orice i |I|, e G
i
: C Alg

i un functor. Pentru orice c |C|, not am

i
-algebra
G
i
(c) = (G
i
(c)
s
, G
i
(c)
o
),
unde G
i
(c)
s
este suport algebrei si G
i
(c)
o
sunt operat iile algebrei.
Presupunem ca (C, G
i
) este con pentru F; Alg, adic a pentru orice morsm I(i, j), urmatoarea
diagrama este comutativa:
.
.
.
.
.
.,
-
-
-
-
-
-

C
Alg

i
Alg

j
G
i
G
j
Alg(f

, g

)
prin urmare pentru orice morsm I(i, j)
a) pentru orice obiect c din C
(G
i
(c)
s
, G
i
(c)
o
) = Alg(f

, g

)((G
j
(c)
s
, G
j
(c)
o
) = (f

; G
j
(c)
s
, {g

w,s
; G
j
(c)
o
f

(w),f(s)
}
wS

i
,sS
i
)
de unde pentru ecare componenta obt inem
f

G
j
(c)
s
= G
i
(c)
s
(5.7)
si pentru orice w
i
S

i
si s
i
S
i
G
i
(c)
o
w
i
,s
i
= g

w
i
,s
i
; G
j
(c)
o
f

(w
i
),f(s
i
)
, (5.8)
b) pentru orice morsm u C(c, c

)
Alg(f

, g

)(G
j
(u)) = f

G
j
(u) = G
i
(u) (5.9)
1. Existent a
Vom construi un functor G : C Alg

astfel nc at urmatoarea diagrama s a e comutativa pentru orice


obiect i din I:
5.3. FUNCTORUL ALG CONSERV

A COLIMITELE 141

`
`
`
`
`
`
`
`


G G
i
Alg(f
i
, g
i
)
Alg

Alg

i
C
Construct ia lui G pe obiecte
Fie c un obiect din categorie C. Din relatia (5.7) rezult a ca familia de funct ii G
i
(c)
s
: S
i
Set formeaza
un cocon pentru F; U prin urmare exista o unic a funct ie G(c)
s
: S Set astfel nc at pentru orice obiect
i din |I|
f
i
; G(c)
s
= G
i
(c)
s
(5.10)

`
`
`
`
`
`
`
`

-
G
i
(c)
s
G(c)
s
f
i
S
i
S
Set
G(c)
s
astfel determinat va constitui suportul -algebrei G(c).
Din (5.10) deducem ca pentru orice s
i
S
i
G(c)
s
f
i
(s
i
)
= G
i
(c)
s
s
i
(5.11)
si analog pentru orice cuvnt w
i
S

i
G(c)
s
f

i
(w
i
)
= G
i
(c)
s
w
i
. (5.12)
Operat iile -algebrei G(c) se construiesc astfel:
Fie w S

si s S. Familia de funct ii G
i
(c)
o
w
i
,s
i
:
i
w
i
,s
i
(G
i
(c)
s
w
i
G
i
(c)
s
s
i
) indexata de
(i, w
i
, s
i
) |C
w,s
|, formeaza, asa cum ne arat a relat iile (5.8), un cocon pentru G
w,s
. Este util s a re-
marc am aici ca toate codomeniile funct iilor din familia de mai sus coincid deoarece conform egalitat ilor
(5.11) si (5.12)
G
i
(c)
s
w
i
G
i
(c)
s
s
i
coincide cu G(c)
s
w
G(c)
s
s
.
Prin urmare exista o unic a funct ie
G(c)
o
w,s
:
w,s
(G(c)
s
w
G(c)
s
s
)
astfel inc at pentru orice (i, w
i
, s
i
) |C
w,s
|
g
i
w
i
,s
i
G(c)
o
w,s
= G
i
(c)
o
w
i
,s
i
(5.13)
adic a urmatoarea diagrama este comutativa:
142 CHAPTER 5. MODULARIZARE

`
`
`
`
`
`
`
`

-
G
w,s
(i, w
i
, s
i
) =
i
w
i
,s
i

w,s
(G(c)
s
w
G(c)
s
s
)
g
i
w
i
,s
i
G(c)
o
w,s G
i
(c)
o
w
i
,s
i
Prin urmare pentru orice obiect i |I| pentru orice w
i
S

i
si orice s
i
S
i
, pentru w = f

i
(w
i
) si s = f
i
(s
i
)
deoarece (i, w
i
, s
i
) |C
w,s
| rezult a ca
g
i
w
i
,s
i
; G(c)
o
f

i
(w
i
),f
i
(s
i
)
= G
i
(c)
o
w
i
,s
i
. (5.14)
Pentru orice obiect c |C| prin denit ie
G(c) = (G(c)
s
, G(c)
o
)
cu G(c)
s
si G(c)
o
denit i mai sus.
Pentru orice c |C| observ am ca
G
i
(c) = (G
i
(c)
s
, G
i
(c)
o
)
(5.10)
= (f
i
; G(c)
s
, G
i
(c)
o
)
(5.14)
= (f
i
; G(c)
s
, {g
i
w
i
,s
i
; G(c)
o
f

i
(w
i
),f
i
(s
i
)
}
w
i
,s
i ),
adic a pentru orice c |C| si orice i |I|
Alg(f
i
, g
i
)(G(c)) = G
i
(c). (5.15)
Construct ia lui G pe morsme:
Fie u : c c

un morsm din C. Observ am ca pentru orice obiect i din I


G
i
(u) : G
i
(c) G
i
(c

).
Familia funct iilor indexata de obiectele lui I
G
i
(u) : S
i

i|I|

s
i
S
i
(G
i
(c)
s
s
i
G
i
(c

)
s
s
i
)
formeaza n conformitate cu (5.9) un cocon pentru functorul F; U, prin urmare exista si este unic a o funct ie
G(u) : S

(G
i
(c)
s
s
i
G
i
(c)
s
s
i
)
astfel inc at pentru orice i |I|
f
i
; G(u) = G
i
(u) (5.16)
Vom ar ata ca G(u)
s
: G(c)
s
s
G(c

)
s
s
pentru orice s S.
Fie s S. Deoarece {f
i
}
iI
este familie epimorf a conform observat iei 5.1.10, exista i |I| si s
i
S
i
, cu
f
i
(s
i
) = s. Rezulta ca
G(u)
s
= G(u)
f
i
(s
i
)
(5.16)
= G
i
(u)
s
i
: G
i
(c)
s
s
i
G
i
(c

)
s
s
i
.
5.3. FUNCTORUL ALG CONSERV

A COLIMITELE 143
Dar
G
i
(c)
s
s
i
(5.10)
= (f
i
G(c)
s
)
s
i
= G(c)
s
f
i
(s
i
)
= G(c)
s
s
si analog
G
i
(c

)
s
s
i
= G(c

)
s
s
deci pentru orice s S
G(u)
s
: G(c)
s
s
G(c

)
s
s
.
G(u) este morsm de -algebre
Aratam ca {G(u)
s
}
sS
formeaza un morsm de la G(c) in G(c

), pentru orice u C(c, c

).
Fie w S

, s S si
w,s
. Deoarece familia
{g
i
w
i
,s
i
}
(i,w
i
,s
i
)|Cw,s|
este epimorf a, vezi si 5.1.10, rezult a ca exista (i, w
i
, s
i
) |C
w,s
| si
i

i
w
i
,s
i
astfel inc at
= g
i
w
i
,s
i
(
i
) (5.17)
Deoarece G
i
(u) : G
i
(c) G
i
(c

) este morsm de
i
-algebre, diagrama de mai jos este comutativa:

G
i
(c)
o
w
i
,s
i
(
i
)
G
i
(c)
s
s
i
G
i
(c)
s
w
i
G
i
(c

)
s
w
i G
i
(c

)
s
s
i
G
i
(c

)
o
w
i
,s
i
(
i
)
G
i
(u)
w
i
G
i
(u)
s
i
Dar f
i
(s
i
) = s si egalitat ile (5.11, 5.16) implic a G
i
(c)
s
s
i
= G(c)
s
s
, G
i
(c

)
s
s
i
= G(c

)
s
s
si G
i
(u)
s
i = G(u)
s
.
Analog f

i
(w
i
) = w si egalitat ile (5.12, 5.16) implic a G
i
(c)
s
w
i
= G(c)
s
w
, G
i
(c

)
s
w
i
= G(c

)
s
w
si G
i
(u)
w
i =
G(u)
w
.
Din f
i
(s
i
) = s, f

i
(w
i
) = w si 5.13 deducem ca
G
i
(c)
o
w
i
,s
i
(
i
) = G(c)
o
w,s
() si G
i
(c

)
o
w
i
,s
i
(
i
) = G(c

)
o
w,s
()
prin urmare urmatoarea diagrama este comutativa:
144 CHAPTER 5. MODULARIZARE

G(c)
s
w
G(c)
s
s
G(c

)
s
s
G(c

)
s
w
G(c)
o
w,s
()
G(c

)
o
w,s
()
G(u)
w
G(u)
s
ceea ce arat a ca G(u) : G(c) G(c

) este morsm pentru


w,s
.

In concluzie G(u) : G(c) G(c

) este morsm de -algebre.


G este functor
Fie s S. Deoarece (f
i
)
i|I|
este epimorf a, 5.1.10, exista i |I| si s
i
S
i
astfel inc at f
i
(s
i
) = s. Din
G(1
c
)
s
= G(1
c
)
f
i
(s
i
)
= (f
i
; G(1
c
))
s
i
5.16
= (G
i
(1
c
))
s
i
G
i
functor
= (1
G
i
(c)
s )
s
i
5.10
= 1
(f
i
G(c)
s
)s
i
= 1
G(c)
s
f
i
(s
i
)
=
1
G(c)
s
s
= (1
G(c)
)
s
deducem
G(1
c
) = 1
G(c)
.
Fie u : c c

, v : c

. Fie s S. Observ am ca exista i |I| si exista s


i
S
i
astfel inc at f
i
(s
i
) = s.
Din
G(u)
s
; G(v)
s
= G(u)
f
i
(s
i
)
; G(v)
f
i
(s
i
)
5.16
= G
i
(u)
s
i
; G
i
(v)
s
i
= (G
i
(u); G
i
(v))
s
i = G
i
(u; v)
s
i
5.16
= (f
i
; G(u; v))
s
i =
= G(u; v)
f
i
(s
i
)
= G(u; v)
s
.
deducem G(u); G(v) = G(u; v). Deci G este functor.
Mai avem de probat ca G
i
= G; Alg(f
i
, g
i
) pentru orice obiect i |I|.

Intruc at egalitatea a fost deja
probata pentru obiecte (5.15) o vom ar ata numai pentru morsme. Pentru u : c c

observ am ca
egalitatea (5.16) implic a Alg(f
i
, g
i
)(G(u)) = f
i
G(u) = G
i
(u).
2. Unicitatea
Vom ar ata ca G construit mai sus este unic.
Fie H : C Alg

un functor astfel nc at pentru orice i |I|


H; Alg(f
i
, g
i
) = G
i
.
Aratam ca G = H pe obiecte si pe morsme. Pentru c |C| not am H(c) = (H(c)
s
, H(c)
o
).
a) pe obiecte:
pentru i |I| si c |C|, observ am ca
G
i
(c) = Alg(f
i
, g
i
)(H(c)) = (f
i
; H(c)
s
, {g
i
w
i
,s
i
; H(c)
o
f

i
(w
i
),f
i
(s
i
)
})
prin urmare G
i
(c)
s
= f
i
H(c)
s
pentru orice i |I|, deci n conformitate cu unicitatea din (5.10) deducem
G(c)
s
= H(c)
s
, adic a algebrele G(c) si H(c) au aceleasi suporturi.
Pentru i |I|, c |C|, w
i
S

i
si s
i
S
i
din egalitatea de mai sus rezult a ca
G
i
(c)
o
w
i
,s
i
= g
i
w
i
,s
i
H(c)
o
f

i
(w
i
),f
i
(s
i
)
.
5.4. COLIMITE

IN INSTITUTII 145
Fie w S

si s S. Pentru orice (i, w


i
, s
i
) |C
w,s
| deducem
G
i
(c)
o
w
i
,s
i
= g
i
w
i
,s
i
H(c)
o
w,s
deci, din unicitatea din (5.13) rezult a ca
G(c)
o
w,s
= H(c)
o
w,s
adic a algebrele G(c) si H(c) au aceleasi operat ii.
Deci pentru orice obiect c din C
G(c) = H(c).
b) pe morsme:
Fie u C(c, c

). Deoarece pentru orice i |I|


G
i
(u) = Alg(f
i
, g
i
)(H(u)) = f
i
; H(u),
din unicitatea din (5.16), deducem G(u) = H(u).
Deci functorii G si H coincid si pe morsme.

In concluzie G = H.
5.4 COLIMITE

IN INSTITUTII
Fie I o institut ie, Pres(I) categoria prezentarilor lui I. Functorul uituc
V : Pres(I) Sign
este denit prin V (, E) = pentru orice prezentare (, E) si V () = pentru orice morsm de prezentari
.
Propozit ie 5.4.1 Fie {(
i
, E
i
)}
iI
o familie de prezent ari si
i
:
i
o familie de morsme de
signaturi. Familia de morsme de prezent ari

i
: (
i
, E
i
) (,

iI
Sen(
i
)(E
i
))
are urm atoarea proprietate:
pentru orice prezentare (

, E) si pentru orice morsm de signaturi :

pentru care

i
: (
i
, E
i
) (

, E)
sunt morsme de prezent ari, : (,

iI
Sen(
i
)(E
i
)) (

, E) este morsm de prezent ari.


Demonstrat ie: Deoarece

i
: (
i
, E
i
) (

, E)
sunt morsme de prezentari, Sen(
i
)(E
i
) E

pentru orice i I. Deoarece


Sen()(

iI
Sen(
i
)(E
i
)) =

iI
Sen()(Sen(
i
)(E
i
)) =

iI
Sen(
i
)(E
i
) E

,
deducem ca : (,

iI
Sen(
i
)(E
i
)) (

, E) este morsm de prezentari.


146 CHAPTER 5. MODULARIZARE
Propozit ie 5.4.2 Functorul uituc V : Pres(I) Sign creaz a slab colimitele.
Demonstrat ie: Fie F : I Pres(I) un functor. Pentru orice obiect i din I not am F(i) = (
i
, E
i
).
Fie V (F(i))

i
o colimit a a functorului F; V : I Sign. Probam ca

i
: (
i
, E
i
) (,

iI
Sen(
i
)(E
i
))
este o colimit a a functorului F. Evident
i
sunt morsme de prezentari.
Deoarece V (F(i))

i
este o colimit a a functorului F; V : I Sign deducem ca
F(i)

i
(,

iI
Sen(
i
)(E
i
))
este un cocon pentru functorul F.
Fie F(i)

i
(

, E) un cocon pentru functorul F. Deoarece V (F(i))



i

este un cocon pentru


functorul F; V si V (F(i))

i
o colimit a a functorului F; V : I Sign exista un unic morsm de
signaturi :

cu proprietate
i
; =
i
pentru orice obiect i din I. Deoarece
i
; =
i
sunt
morsme de prezentari, din propozit ia precedenta rezult a ca este morsm de prezentari.
Corolar 5.4.3

Intr-o institut ie n care categoria signaturilor are colimite, categoria prezent arilor are col-
imite si functorul V comut a cu ele.
Fie Th(I) categoria teoriilor institut iei I. Functorul uituc
U : Th(I) Sign
este prin denit ie restrict ia lui V la categoria teoriilor lui I.
Propozit ie 5.4.4 Fie {(
i
, E
i
)}
iI
o familie de teorii si
i
:
i
o familie de morsme de signaturi.
Familia de morsme de teorii

i
: (
i
, E
i
) (, [

iI
Sen(
i
)(E
i
)]

)
are urm atoarea proprietate:
pentru orice teorie (

, E) si pentru orice morsm de signaturi :

pentru care

i
: (
i
, E
i
) (

, E)
sunt morsme de teorii, : (, [

iI
Sen(
i
)(E
i
)]

) (

, E) este morsm de teorii.


Demonstrat ie: Deoarece

i
: (
i
, E
i
) (

, E)
sunt morsme de teori, Sen(
i
)(E
i
) E pentru orice i I. Prin urmare
[

iI
Sen(
i
)(E
i
)]

E
5.4. COLIMITE

IN INSTITUTII 147
deoarece E este nchis a. Conform lemei nchiderii
Sen()([

iI
Sen(
i
)(E
i
)]

) [Sen()(

iI
Sen(
i
)(E
i
))]

= [

iI
Sen()(Sen(
i
)(E
i
))]

.
Prin urmare
Sen()([

iI
Sen(
i
)(E
i
)]

) [

iI
Sen(
i
)(E
i
)]

E.
Deducem ca : (, [

iI
Sen(
i
)(E
i
)]

) (

, E) este morsm de teorii.


Propozit ie 5.4.5 Functorul uituc U : Th(I) Sign creaz a slab colimitele.
Demonstrat ie: Fie F : I Th(I) un functor. Pentru orice obiect i din I not am F(i) = (
i
, E
i
).
Fie U(F(i))

i
o colimit a a functorului F; U : I Sign. Probam ca

i
: (
i
, E
i
) (, [

iI
Sen(
i
)(E
i
)]

)
este o colimit a a functorului F. Evident
i
sunt morsme de teori.
Deoarece V (F(i))

i
este o colimit a a functorului F; V : I Sign deducem ca
F(i)

i
(, [

iI
Sen(
i
)(E
i
)]

)
este un cocon pentru functorul F.
Fie F(i)

i
(

, E) un cocon pentru functorul F. Deoarece U(F(i))



i

este un cocon pentru


functorul F; U si U(F(i))

i
o colimit a a functorului F; U : I Sign exista un unic morsm de
signaturiri :

cu proprietate
i
; =
i
pentru orice obiect i din I. Deoarece
i
; =
i
sunt
morsme de teorii, din propozit ia precedenta rezult a c a este morsm de teorii.
Corolar 5.4.6

Intr-o institut ie n care categoria signaturilor are colimite, categoria teoriilor are colimite
si functorul U comut a cu ele.
Din teoremele de mai sus rezult a ca ntr-o institut ie n care categoria signaturilor are colimite, atat
categoria prezentarilor ei cat si categoria teoriilor ei au colimite. Mai mult propozit iile de mai sus dau si
o construct ie a acestora.
5.4.1 Functorul
Observat ia 5.4.7 Dac a : (, E) (
1
, E
1
) este morsm de prezent ari,
atunci : (, E

) (
1
, E

1
) este morsm de teorii.
Demonstrat ie: Din lema nchiderii deducem Sen()(E

) Sen()(E)

. Deoarece este morsm de


prezentari Sen()(E) E

1
prin urmare Sen()(E)

1
deci Sen()(E

) E

1
, adic a
: (, E

) (
1
, E

1
) este morsm de teorii.
148 CHAPTER 5. MODULARIZARE
Pres(I)

Th(I)

U
Sign
Functorul : Pres(I) Th(I) este denit prin
1. (, E)

= (, E

) pentru orice prezentare (, E).


2.

= pentru orice morsm de prezentari .


Observ am ca ; U = V.
Observat ia 5.4.8 Dac a
i
:
i
este o familie de morsme de signaturi si E
i
Sen(
i
) pentru
orice indice i I, atunci
[

iI
Sen(
i
)(E
i
)]

= [

iI
Sen(
i
)(E

i
)]

Demonstrat ie: Demonstrat ia prin dubl a incluziune incepe prin a observa c a incluziunea
[

iI
Sen(
i
)(E
i
)]

iI
Sen(
i
)(E

i
)]

rezult a usor plec and de la E


i
E

i
si observ and c a toate construct iile folosite sunt cresc atoare.
Reciproc, utiliz and lema incluziunii
Sen(
i
)(E

i
) [Sen(
i
)(E
i
)]

deducem succesiv
Sen(
i
)(E

i
) [

iI
Sen(
i
)(E
i
)]

iI
Sen(
i
)(E

i
) [

iI
Sen(
i
)(E
i
)]

si
[

iI
Sen(
i
)(E

i
)]

iI
Sen(
i
)(E
i
)]

.
Propozit ie 5.4.9

Intr-o institut ie n care categoria signaturilor are colimite functorul conserv a colim-
itele.
Demonstrat ie: Fie F : I Pres(I) un functor. Pentru orice obiect i din I not am F(i) = (
i
, E
i
).
Pentru a demonstra c a functorul conserva colimitele functorului F vom utiliza observat ia 5.1.14 si
vom ar ata c a functorul conserv a o anumit a colimit a a functorului F. Mai precis vom ar ata c a functorul
duce colimita functorului F construit a n conformitate cu propozit ia 5.4.2 n colimita functorului F;
construit a conform propozit iei 5.4.5.
5.5. CATEGORII INCLUSIVE 149
Fie V (F(i))

i
o colimit a a functorului F; V : I Sign. Conform construct iei din propozit ia
5.4.2

i
: (
i
, E
i
) (,

iI
Sen(
i
)(E
i
)) (5.18)
este o colimit a a functorului F si deoarece (F; )(i) = (
i
, E

i
) pentru orice obiect i din I, conform
construct iei din propozit ia 5.4.5

i
: (
i
, E
i
) (, [

iI
Sen(
i
)(E

i
)]

) (5.19)
este o colimit a a functorului F; .
Egalitatea demonstrat a mai sus
[

iI
Sen(
i
)(E
i
)]

= [

iI
Sen(
i
)(E

i
)]

arat a c a aplic and functorul colimitei 5.18 a functorului F se obt ine colimita 5.19 a functorului F; .
Practic n calculator nu putem lucra dec at cu prezentari nite care reprezinta teorii. Se stie ca n
procesul de crearea de programe mari din mbinarea unor programe mai mici(modularizare) colimitele
joaca un rol deosebit. Pentru a convinsi ca lucrurile sunt corecte este necesar s a ar atam urmatoarele:
colimita prezentarilor reprezinta chiar teoria colimit a a teoriilor reprezentate de prezentarile care au intrat
n calcul. Ultima propozit ie ne asigura de acest fapt.
5.5 CATEGORII INCLUSIVE
Conceptul de incluziune abstracta a fost introdus de Diaconescu, Goguen si Stefaneas [6], unde denit ia
categoriei inclusive cere mai multe condit ii. Denit ie de mai jos, sub numele de categorie slab inclusiv a,
a fost introdusa de C azanescu si Rosu [3]. Denit ia utilizat a aici coincide cu cea din cartea lui R azvan
Diaconescu [4].
Denit ia 5.5.1 O categorie I este numit a categorie de incluziuni dac a pentru orice pereche de obiecte
A si B
1) I(A, B) are cel mult un element si
2) I(A, B) = si I(B, A) = implic a A = B. antisimetrie
Morsmele din I vor numite incluziuni.
Se observ a ca o categorie de incluziuni nu este altceva dec at o clas a part ial ordonata organizat a ca o
categorie.
Pentru incluziuni i I(A, B) mai utiliz am si notat ia i : A B.
150 CHAPTER 5. MODULARIZARE
Denit ia 5.5.2 O subcategorie de incluziuni a categoriei C este o categorie de incluziuni care este o
subcategorie a lui C avand aceleasi obiecte ca si C.
Denit ia 5.5.3 Spunem ca (I, E) este un sistem de incluziuni pentru categoria C dac a
1. I este o subcategorie de incluziuni a lui C,
2. E este subcategorie a lui C care are aceleasi obiecte ca si C si
3. Orice morsm f din C poate factorizat unic f = e
f
; i
f
unde e
f
E si i
f
I.
O categorie mpreuna cu un sistem de incluziuni se numeste categorie inclusiva.
Fie f : A B un morsm dintr-o categorie inclusiv a. Imaginea lui f notat a cu f(A) este prin denit ie
codomeniul morsmului e
f
: A f(A) acelasi cu domeniul morsmului i
f
: f(A) B.
Continu am cu mai multe exemple.
Set
Consideram categoria mult imilor Set cu sistemul de inclusiuni (Incluziuni,Surject ii). Prin incluziune
de mult imi se int elege unica funct ie de la o submult ime la o supramult ime a sa care duce orice element n
el nsusi. Subcategoria incluziunilor este o latice unde supremum e reuniunea si infimum este intersect ia.
Este binecunoscut ca orice funct ie f : A B se poate scrie ca o compunere f = e
f
; i
f
unde
i
f
: f(A) B este incluziune si surject ia e
f
: A f(A) este denita prin e
f
(a) = f(a) pentru
orice a A.
Fie f = e; i este o alta descompunere a lui f ntr-o surject ie e : A C si o incluziune i : C B.
Evident C B. Observ am ca pentru orice a A, f(a) = i(e(a)) = e(a) C, prin urmare f(A) C.
Probam incluziunea contrar a. Fie c C. Deoarece e este surjectiva exista a A astfel mc at c = e(a) =
i(e(a)) = f(a), deci c f(A). Deoarece f(A) = C deducem usor ca e = e
f
si i = i
f
.
Sig
Denit ia 5.5.4 Fie dou a signaturi algebrice multisortate (S, ), (S

) |Sig|. Prin denit ie


(S, ) (S

) dac a si numai dac a S S

si
w,s

w,s
pentru orice w S

, s S.
Cu relat ia astfel denita signaturile algebrice formeaza o clas a part ial ordonata.
Incluziunile lui Sig sunt denite prin morsmele care au toate componentele incluziuni de mult imi.
Notam cu I categoria incluziunilor de signaturi. Ea este o subcategorie de incluziuni a lui Sig.
Evident ca pentru orice pereche de signaturi (S, ), (S

) si pentru orice pereche de incluziuni


(f
1
, g
1
), (f
2
, g
2
) din I((S, ), (S

)) deoarece funct iile f


1
, f
2
: S S

, sunt incluziuni rezult a ca f


1
= f
2
.
De asemenea, pentru orice w S

si s S funct iile g
1w,s
, g
2w,s
:
w,s

(w),f(s)
, unde f = f
1
, sunt
incluziuni. Din faptul ca g
1w,s
si g
2w,s
sunt incluziuni rezult a g
1w,s
= g
2w,s
. Deci (f
1
, g
1
) = (f
2
, g
2
).
Mai observ am ca (S, ) (S

) si (S

) (S, ) implic a (S, ) = (S

). Prin urmare, I este


subcategorie de incluziuni a lui Sig.
5.5. CATEGORII INCLUSIVE 151
Denit ia 5.5.5 Un morsm de signaturi (f, g) : (S

) (S, ) se numeste surject ie abstract a de


signaturi dac a f : S

S este o funct ie surjectiva si pentru orice w S

, s S si
w,s
exista
w

, s

si

,s
cu proprietat ile f

(w

) = w, f(s

) = s si g
w

,s
(

) = .
Notam cu E categoria surject iilor abstracte de signaturi.
Observat ia 5.5.6 E este subcategorie a lui Sig care are aceleasi obiecte ca si Sig.
Demonstrat ie: Fie (f

, g

) : (S

) (S

) si (f, g) : (S

) (S, ) dou a surject ii abstracte de


signaturi. Vom ar ata ca si compunerea lor este o surject ie abstracta de signaturi.
Deoarece f

si f sunt surject ii rezult a ca f

; f este surject ie.


Fie w S

, s S si
w,s
. Deoarece (f, g) : (S

) (S, ) este surject ie abstracta de signaturi


exista w

, s

si

,s
cu proprietat ile f

(w

) = w, f(s

) = s si g
w

,s
(

) = . Deoarece
(f

, g

) : (S

) (S

) este surject ie abstracta de signaturi exista w

, s

si

,s

cu proprietat ile f

(w

) = w

, f

(s

) = s

si g

,s

) =

. Rezulta ca
(f

; f)

(w

) = f

(f

(w

)) = f

(w

) = w, (f

; f)(s

) = f(f

(s

)) = f(s

) = s si
(g

; g)
w

,s
(

) = (g

,s

; g
f

(w

),f

(s

)
)(

) = g
w

,s
(g

,s

)) = g
w

,s
(

) = .
Deci (f

, g

); (f, g) este surject ie abstracta de signaturi.


Mai observ am ca orice morsm identitate de signaturi este o surject ie abstracta de signaturi.
Propozit ie 5.5.7

In categoria signaturilor algebrice Sig < I, E > este sistem inclusiv.
Demonstrat ie: Demonstram ca orice morsm de signaturi (f, g) poate scris unic ca o compunere ntre
o surject ie abstracta de signaturi (e
f
, e
g
) din E si o incluziune (i
f
, i
g
) din I. C aut am o descompunere de
tipul:
(S, )
(f,g)

(e
f
,eg)

P
P
P
P
P
P
P
P
P
P
P
P
(S

)
(f(S), {
0
w,s
}
wf(S)

,sf(S)
})
(i
f
,ig)

n
n
n
n
n
n
n
n
n
n
n
n
Demonstr am existent a descompunerii.

In categoria Set, pentru orice funct ie f exista o unic a descompunere cu e


f
surject ie si i
f
incluziune astfel
nc at f = e
f
; i
f
de forma :
S
f

e
f

C
C
C
C
C
C
C
C
S

f(S)
i
f

z
z
z
z
z
z
z
z
Stim ca e
f
(x) = f(x) pentru orice x S.
Pentru orice w

f(S)

si s

f(S) denim

0
w

,s
=

{g
w,s
(
w,s
)|w (f

)
1
(w

) si s f
1
(s

)}

,s
.
Pentru orice w S

, s S denim
e
gw,s
:
w,s

0
e
f
(w),e
f
(s)
astfel e
gw,s
() = g
w,s
()
0
f

(w),f(s)
, pentru ecare
w,s
.
152 CHAPTER 5. MODULARIZARE
Observ am ca (e
f
, e
g
) E, (i
f
, i
g
) I si (f, g) = (e
f
, e
g
); (i
f
, i
g
).
Aratam unicitatea acestei descompuneri.
Presupunem ca exista (f

, g

) E si o incluziune (i

f
, i

g
) de signaturi n I astfel nc at diagrama urmatoare
s a e comutativa:
(S, )
(f,g)

(f

,g

J
J
J
J
J
J
J
J
J
(S

)
(S

)
(i

f
,i

g
)

s
s
s
s
s
s
s
s
s
s
Dar, n categoria mult imilor Set, e
f
si f

sunt ambele surject ii. Cum o astfel de descompunere f =


f

; i

f
= e
f
; i
f
ese unic a n Set nseamna ca f

= e
f
, i

f
= i
f
si S

= f(S).
Pentru orice w S

, s S si
w,s
observ am ca
g

w,s
() = (i

g
)
f

(w),f

(s)
(g

w,s
()) = (g

w,s
; (i

g
)
f

(w),f

(s)
)() = g
w,s
() = (e
g
)
w,s
().
Deoarece (f

, g

) este surject ie abstracta pentru orice w

(S) si s

f(S)

,s
=

{g

w,s
(
w,s
)| s f
1
(s

) , w (f

)
1
(w

)} =

{g
w,s
(
w,s
)| s f
1
(s

) , w (f

)
1
(w

)} =
0
w

,s
.
Deci g

= e
g
si

=
0
.
Deci Sig cu sistemul < I, E > este categorie inclusiv a.
Teoriile unei institut ii
Fie o institut ie I. Fie U : Th(I) Sign functorul uituc denit prin U(, E) = si U() = .
Reamintim ca o prezentare este o pereche (S, ) unde |Sign| si E Sen() si o teorie este o
prezentare (S, ) cu E

= E.
Teorema 5.5.8 Intr-o institut ie I, dac a Sign este o categorie inclusiv a, atunci Th(I) este o categorie
inclusiv a.
Demonstrat ie: Fie (I, E) un sistem de incluziuni n categoria signaturilor Sign. Vom deni (I
T
, E
T
),
un sistem de incluziuni n categoria teoriilor dupa cum urmeaza.
Fie : (, E) (

, E

) un morsm de teorii.
1) I
T
dac a si numai dac a I
2) E
T
dac a si numai dac a E si E

= Sen()(E)

.
Probam ca I
T
este o categorie de incluziuni.
1) Deoarece
I
T
((, E), (

, E

)) I(,

)
si I(,

) are cel mult un element deducem ca I


T
((, E), (

, E

)) are cel mult un element.


2) Fie I((, E), (

, E

)) si I((, E), (

, E

)). Deducem I(,

) = si I(,

)) = , deci
=

. Din I(, ) si I(, ) deducem = = 1

. Deoarece 1

: (, E) (, E

) si
1

: (, E

) (, E) sunt morsme de teorii deducem E = E

. Deci (, E) = (

, E

).
5.5. CATEGORII INCLUSIVE 153
Deoarece pentru orice teorie (, E), 1

: (, E) (, E) este morsm de teorii din I


T
rezult a ca I
T
are aceleasi obiecte ca si Th(I) deci I
T
este o subcategorie de incluziuni a lui Th(I).
Fie E
T
((, E), (
1
, E
1
)) si E
T
((
1
, E
1
), (
2
, E
2
)). Probam ca ; E
T
((, E), (
2
, E
2
)). Din
ipoteza E
1
= Sen()(E)

si E
2
= Sen()(E
1
)

. Folosind observat ia 5.4.8 deducem


Sen()(Sen()(E)

= (Sen()(Sen()(E)))

Prin urmare
Sen()(E
1
)

= ((Sen(); Sen())(E))

asadar E
2
= (Sen(; )(E))

deci
; E
T
((, E), (
2
, E
2
)).
Deoarece pentru orice teorie (, E), 1

: (, E) (, E) este morsm de teorii din E


T
rezult a ca E
T
are aceleasi obiecte ca si Th(I).
Probam existent a descompunerii. Fie : (, E) (

, E

) un morsm de teorii. Descompunem n


categoria inclusiv a a signaturilor

C
C
C
C
C
C
C
C

()
i

z
z
z
z
z
z
z
z
Form am diagrama de mai jos. Observ am ca
e

: (, E) ((), (Sen(e

)(E))

)
este morsm de teorii din E
T
. Deoarece
Sen(i

)((Sen(e

)(E))

) (Sen(i

)[Sen(e

)(E)])

= (Sen()(E))

= E

rezult a ca
i

: ((), (Sen(e

)(E))

) (

, E

)
este morsm de teorii din I
T
.
(, E)

M
M
M
M
M
M
M
M
M
M
(

, E

)
((), (Sen(e

)(E))

)
i

p
p
p
p
p
p
p
p
p
p
p
Probam unicitatea descompunerii. Fie = e; i o alta descompunere unde e este din E
T
si i este din
I
T
.
(, E)

K
K
K
K
K
K
K
K
K
K
(

, E

)
(
1
, (Sen(e)(E))

)
i

r
r
r
r
r
r
r
r
r
r
Deoarece descompunerea = e; i are loc si n categoria inclusiv a a signaturilor deducem
1
= (),
e = e

si i = i

deci descompunerea este unic a.

In concluzie Th(I) este o categorie inclusiv a.


Corolar 5.5.9 Teoriile institut iei logicii ecuat ionale formeaz a o categorie inclusiv a.
154 CHAPTER 5. MODULARIZARE
5.5.1 Categorii inclusive cu sume
Denit ia 5.5.10 Spunem ca o categorie inclusiv a C are sume dac a subcategoria incluziunilor ei I are
supremuri nite.
Reamintim ca ntro categorie de incluziuni supremurile coincid cu sumele directe. Continu am cu mai
multe exemple de categorii inclusive cu suma.
Set
Am vazut ca n categoria mult imilor sumele directe sunt reuniunile disjuncte.

In categoria incluziunilor de mult imi sumele directe sunt reuniunile. De fapt avand de a face cu o clas a
part ial ordonata, sumele directe coincid cu supremurile care n cazul mult imilor coincid cu reuniunile.
Sig
Propozit ie 5.5.11 Categoria inclusiv a a signaturilor algebrice are sume.
Demonstrat ie:
Vom demonstra chiar mai mult, existent a supremurilor arbitrare.
Consideram K o mult ime arbitrara de indecsi. Pentru k K e (S
k
,
k
) o signatura algebric a.
Signatura (S, ) este denita prin S =

{S
k
|k K} si pentru orice w S

si s S prin

w,s
=

{
k
w,s
|w S

k
, s S
k
}.
Evident (S
k
,
k
) (S, ) pentru orice k K.
Presupunem (S
k
,
k
) (S

) pentru orice k K. Deoarece S


k
S

pentru orice k K deducem


S S

.
Fie w S

, s S si
w,s
. Prin urmare exista k K, w S

k
si s S
k
cu proprietatea
k
w,s
.
Deoarece (S
k
,
k
) (S

) deducem

w,s
. Am ar atat astfel

In concluzie, (S

) este supremul familiei (S


k
,
k
).
Teoriile unei institut ii
Teorema 5.5.12 Dac a Sign este o categorie inclusiv a cu sume, atunci Th(I) este o categorie inclusiv a
cu sume.
Demonstrat ie: P astr am notat iile din propozit ia precedenta.
Fie (
k
, E
k
) o familie nit a de teorii. Fie supremul(suma direct a) familiei {
k
}
k
si i
k
:
k

incluziuni. Vom proba ca
(, (

k
Sen(i
k
)(E
k
))

)
este supremum n categoria incluziunilor de teorii a familiei (
k
, E
k
). Evident i
k
sunt morsme de teorii,
Fie (
1
, E
1
) o teorie si j
k
I
T
((
k
, E
k
), (
1
, E
1
)). Deoarece este supremul familiei de signaturi
{
k
}
k
, exista o unic a incluziune de signaturi j :
1
cu proprietatea i
k
; j = j
k
pentru orice k.
5.5. CATEGORII INCLUSIVE 155
Deoarece familia
i
k
: (
k
, E
k
) (, (

k
Sen(i
k
)(E
k
))

)
are proprietatea din propozit ia 5.4.4 si i
k
; j sunt morsme de teorii rezult a ca
j : (, (

k
Sen(i
k
)(E
k
))

) (
1
, E
1
)
este morsm de teorii.
Deoarece categoria signaturilor algebrice Sig este inclusiv a cu sume rezult a corolarul urmator.
Corolar 5.5.13 Categoria teoriilor din institut ia logicii ecuat ionale este inclusiv a cu sume.
Din punct de vedere practic, deoarece teoriile sunt implementate prin prezentari ale lor, este util a urmatoarea
propozit ie.
Propozit ie 5.5.14 Fie (
k
, E
k
) o familie nit a de prezent ari si i
k
:
k
supremul n categoria
incluziunilor de signaturi. Supremul familiei de teorii (
k
, E

k
) este prezentat de
(,

k
Sen(i
k
)(E
k
)).
Demonstrat ie: Este sucient s a invocam observat ia 5.4.8
(

k
Sen(i
k
)(E
k
))

= (

k
Sen(i
k
)(E

k
))

.
5.5.2 Sume brate care conserva incluziunile
Sumele brate sunt un caz particular de colimite. Fie I o categorie mic a care are trei obiecte mpreuna cu
identitat ile lor si alte dou a morsme cu acelasi sursa. Un functor denit pe I cu valori ntro categorie C
este dat de dou a morsme cu aceeasi sursa din categoria C.
A
i






f
?
?
?
?
?
B
C
Suma brata este colimita unui astfel de functor.
Un cocon pentru un astfel de functor este format din dou a morsme
j : B D si g : C D
cu proprietatea
i; j = f; g.
Urmand direct denit ia coconului ar trebuit trei morsme j, g de mai sus si h : A D cu proprietat ile
h = i; j si h = f; g. Se observ a usor echivalent a celor dou a variante.
156 CHAPTER 5. MODULARIZARE
Denit ia 5.5.15 Se numeste suma brata a cuplului de morsme
A
i






f
?
?
?
?
?
B
C
un cuplu de morsme
j : B D si g : C D
cu proprietat ile:
1) i; j = f; g si
2) pentru orice cuplu de morsme j

: B D

si g

: C D

cu proprietatea i; j

= f; g

exista un
unic morsm u : D D

care satisface
j; u = j

si g; u = g

.
Denit ia 5.5.16

Intr-o categorie inclusiv a, spunem ca sumele brate conserv a incluziunile dac a:
pentru orice incluziune i : A B si orice morsm f : A C pentru care perechea i, f are o
suma brata, exista o suma brata a perechii i, f formata dintr-un morsm g : B D si o incluziune
j : C D.
A
i






f
?
?
?
?
?
B
g

?
?
?
?
?
C
/






D
Continu am cu exemple de categorii inclusive n care sumele brate conserv a incluziunile.
Set
Propozit ie 5.5.17

In categoria mult imilor sumele brate conserv a incluziunile.
Demonstrat ie: Fie f : A C o funct ie si A B. Notam cu i : A B incluziunea lui A n B.
5.5. CATEGORII INCLUSIVE 157
A
i







f
?
?
?
?
?
?
B
u

X X
X
X X
X X
X X
X
X X
X X
X
X X
X X
X
X X
X X
X
X X
g

?
?
?
?
?
C
/






v

g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
g
C

(B A)
w
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
D
Consideram reuniunea disjunct a C

(B A) si denim g : B C

(B A) ca o extindere a lui f
astfel g(b) =

b b B A
f(b) altfel
.
Observ am ca g(i(a)) = g(a) = f(a) = j(f(a)), adic a i; g = f; j.
Consideram u : B D si v : C D astfel nc at i; u = f; v. Denim w : C

(B A) D astfel
w(x) =

v(x) x C
u(x) x B A
Prin urmare pentru orice b B
w(g(b)) =

w(b) b B A
w(f(b)) b A
=

u(b) b B A
v(f(b)) b A
= u(b)
deci g; w = u. Deoarece pentru orice x C, w(j(x)) = w(x) = v(x), deducem j; w = v.
Unicitatea lui w rezult a din construct ie.
Sig
Propozit ie 5.5.18

In categoria signaturilor algebrice sumele brate conserv a incluziunile.
Demonstrat ie: Fie i : (S, ) (S

) o incluziune de signaturi si (f, g) : (S, ) (S

) un
morsm de signaturi.
Plec and de la incluziunea de mult imi S S

si funct ia f : S S

facem n categoria mult imilor,


dupa modelul de mai sus, o sums brata care conserv a incluziunea.
Denim f

astfel f

(s) =

f(s) s S
s altfel
. Observ am ca f

S
= f; l.
Variante de denire
0
:
1) Daca w
0
S

si s
0
S

atunci

0
w
0
,s
0
=

w
0
,s
0
{(w

, s

)|f

(w

) = w
0
, f

(s

) = s
0
,

,s

w

,s
}.
2)

In caz contrar

0
w
0
,s
0
= {(w

, s

)|f

(w

) = w
0
, f

(s

) = s
0
,

,s

w

,s
}.
158 CHAPTER 5. MODULARIZARE
Vom deni g

pentru orice w

, s

si

,s

prin
g

,s
() =

g
w

,s
() w

, s

S,
w

,s

(w

, s

, ) altfel
Observ am ca g

,s

,s


0
f

(w

),f

(s

)
. Comutativitatea diagramei i; (f

, g

) = (f, g); l este evidenta.


(S, )
i








(f,g)

?
?
?
?
?
?
?
(S

)
(f
1
,g
1
)

X X
X
X
X
X
X
X
X X
X
X
X
X
X
X X
X
X
X
X
X
X
X X
X
X
X
X
(f

,g

?
?
?
?
?
?
?
(S

)
/
l








(f
2
,g
2
)

f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
f
(S

(S

S),
0
)
!(u,v)
_ _ _ _ _ _ _ _
(S
1
,
1
)
Consideram morsmele (f
1
, g
1
) : (S

) (S
1
,
1
), (f
2
, g
2
) : (S

) (S
1
,
1
) cu proprietatea
i; (f
1
, g
1
) = (f, g); (f
2
, g
2
), prin urmare f
1

= f; f
2
si pentru orice w S

, s S si
w,s
g
1
w,s
() = g
2
f

(w),f(s)
(g
w,s
()).
Construim morsmul de signaturi (u, v) : (S

(S

S),
0
) (S
1
,
1
). Din proprietatea sumei
brate pentru mult imi stim ca exista o unic a funct ie u care face diagramele comutative pe mult imi, adic a
f

; u = f
1
si u
S
= f
2
.
Denim pe v
w
0
,s
0 :
0
w
0
,s
0

1
u

(w
0
),u(s
0
)
astfel
1) Daca w
0
S

, s
0
S

w
0
,s
0
atunci v
w
0
,s
0() = g
2
w
0
,s
0
().
2) Daca

,s

si f

(w

) = w
0
, f

(s

) = s
0
atunci v
w
0
,s
0(w

, s

) = g
1
w

,s

).
Din primul caz este evident ca v

= g
2
, deci prima diagrama este comutativa.
Pentru a proba ca (f

, g

); (u, v) = (f
1
, g
1
), deoarece f

; u = f
1
ar atam ca pentru orice w

si s S

ca
g

,s
; v
f

(w

),f

(s

)
= g
1
w

,s
.
Fie

,s
. Conform denit iei lui g

,s

consideram dou a cazuri


a)

In cazul n care

,s

avem v
f

(w

),f

(s

)
(g

,s

()) = v
f

(w),f

(s

)
(w

, s

, ) = g
1
w

,s

().
b) Daca
w,s
, w S

, s S avem v
f

(w),f

(s)
(g

w,s
()) = v
f

(w),f(s)
(g
w,s
()) = g
2
f(w),f(s)
(g
w,s
()) =
g
1
w,s
().
Unicitatea rezult a usor.
Teoriile unei institut ii
Propozit ie 5.5.19 Fie I o institut ie n care Sign este categorie inclusiv a si are sume brate. Dac a
n categoria Sign sumele brate conserv a incluziunile, atunci n categoria T h(I) sumele brate conserv a
incluziunile.
Demonstrat ie:

In T h(I) presupunem ca incluziunea i : (, E) (
1
, E
1
) si morsmul
: (, E) (
2
, E
2
) au o suma brata. Deoarece n Sign incluziunea i :
1
si morsmul
5.6. IMPORTURI 159
:
2
au o suma brata si n categoria signaturilor sumele brate conserv a incluziunile deducem
existent a unei sume brate

i








?
?
?
?
?
?

?
?
?
?
?

2
/







n care j este o incluziune de signaturi.


Deoarece functorul U : T h(I) Sign creaz a slab colimitele, exista suma brata
(, E)
i







?
?
?
?
?
(
1
, E
1
)

?
?
?
?
?
?
(
2
, E
2
)
/







(

, ( Sen()(E
1
) Sen(j)(E
2
) )

)
n care j este o incluziune de teorii.
Corolar 5.5.20

In categoria teoriilor din institut ia logicii ecuat ionale sumele brate conserv a incluziunile.
5.6 IMPORTURI
Pentru o prezentare cele mai utilizate semantici sunt semantica init iala si semantica slaba. Conform
semanticii slabe sunt considerate toate modele prezentarii. Conform semanticii init iale este considerat
doar modelul int ial. Prin urmare in conformitate cu semantica adoptat a o prezentare poate da mai multe
specicat ii, adic a o prezentare si o clas a de modele ale acesteia. Practica programarii cere si alte metode
de denire a specicat iilor. Printre acestea metoda importurilor.
Pentru denirea semanticii init iale este necesar conceptul de s ageata universal a.
Denit ia 5.6.1 Fie F : C D un functor, C un obiect din categoria C si D un obect din categoria D.
Un morsm u : D F(C) se numeste sageta universala dac a pentru orice morsm f : D F(C

)
exista un unic morsm f
#
: C C

cu proprietatea u; F(f
#
) = f.
Vom accepta trei feluri de importuri protecting, extending si using.
Fie o specicat ie (, E, M) importat a de prezentarea (

, E

). Acceptam automat ca M Mod


p
(, E)
si ca prezentarea importat a este inclusa n specicat ia care import a:
: (, E) (

, E

).
Prin urmare Mod
p
() : Mod
p
(

, E

) Mod
p
(, E) este un functor uituc, adic a uit a o parte dintre
suporturile si o parte dintre operat iile modelelor.
Vom deni specicat ia (

, E

, M

) denind de fapt clasa de modele M

n funct ie de tipul importului


si de semantica acceptat a pentru prezentarea importatoare.
160 CHAPTER 5. MODULARIZARE
5.6.1 Semantica slaba
Prin denit ie n funt ie de tipul importului:
a) Protecting
M

= {M

Mod
p
(

, E

) : Mod
p
()(M

) M}
b) Extending
M

= {M

Mod
p
(

, E

) : (M M) si un morsm injectiv j : M Mod


p
()(M

)}
c) Using
M

= {M

Mod
p
(

, E

) : (M M) si un morsm j : M Mod
p
()(M

)}
5.6.2 Semantica init iala
a) Protecting
M

= {M

Mod
p
(

, E

) : Mod
p
()(M

) M si 1
Mod
p
()(M

)
este s ageata universal a}
b) Extending
M

= {M

Mod
p
(

, E

) : (M M) si un morsm injectiv si universal j : M Mod


p
()(M

)}
c) Using
M

= {M

Mod
p
(

, E

) : (M M) si un morsm universal j : M Mod


p
()(M

)}
Daca o prezentare import a mai multe submodule se utilizeaz a conjuct ia condit iilor de mai sus.
Av and n vedere cele de mai sus un program apare ca un graf orientat aciclic conex n care nodurile
sunt etichetate cu specicat ii si s aget ile sunt incluziuni de prezentari. Daca un modul este importat pe
dou a cai diferite el apare ntr-un singur nod, fapt pentru care, n general, nu avem de a face cu un arbore.
5.7 PARAMETRIZAREA PROGRAMELOR
Programarea clasic a include utilizarea subprogramelor pentru modularizarea programelor mari. Pro-
gramarea prin rescriere foloseste pentru acelasi scop, modularizarea, asa numita metod a a programarii
parametrizate.
Asa numitele argumente, formale respective actuale, din programarea clasic a sunt nlocuite de asa
numit ii parametri, formali respectivi actuali. Parametri formali sunt prin denit ie teorii, iar parametri
actuali sunt prin denit ie morsme de prezentari.
Vom ilustra la nivel teoretic tehnica parametrizarii programelor.
Fie M[T1, T2, T3] un modul parametrizat formal de trei teorii T1, T2 si T3. Numarul trei este utilizat
pentru acest exemplu. In general orice num ar nit este permis. Nu uitat i ca practic, n programe, teoriile
sunt reprezentate de prezentari ale lor.
Fie T1 +T2 +T3 suma directa n categoria incluziunilor de teorii. Notam cu i1 : T1 T1 +T2 +T3,
i2 : T2 T1 + T2 + T3, i3 : T3 T1 + T2 + T3 si i : T1 + T2 + T3 M[T1, T2, T3] incluzinile care
apar.
Fie M[m1, m2, m3] modulul obt inut prin nlocuirea parametrilor formali cu parametri actuali m1, m2
si m3. Ment ion am ca m1 : T1 M1, m2 : T2 M2 si m3 : T3 M3 sunt morsme de prezentari.
Vom explica n continuare cine este M[m1, m2, m3].
5.7. PARAMETRIZAREA PROGRAMELOR 161

`
i

`
M[T1, T2, T3]
T1 +T2 +T3
M[m1, m2, m3]
M1 +M2 +M3

m1+m2+m3

`
i
k

`
j
k
T
k

m
k
M
k
Fie M1 + M2 + M3 suma direct a n categoria incluziunilor. Notam cu j1 : M1 M1 + M2 + M3,
j2 : M2 M1 +M2 +M3 si j3 : M3 M1 +M2 +M3 incluziunile care sunt morsme structurale ale
sumei directe.
Fie m1 +m2 +m3 : T1 +T2 +T3 M1 +M2 +M3 unicul morsm de teorii cu proprietate
ik; (m1 +m2 +m3) = mk; jk
pentru orice k {1, 2, 3}.
La ultimul pas al construct iei utiliz and morsmul m1 +m2 +m3 : T1 +T2 +T3 M1 +M2 +M3
se face o suma brata care conserv a incluziunea i : T1 + T2 + T3 M[T1, T2, T3]. Se obt ine astfel
incluziunea M1 + M2 + M3 M[m1, m2, m3]. Aceasta ultim a incluziune impreuna cu incluziunile jk :
Mk M1 +M2 +M3 dau structura programului M[m1, m2, m3].
162 CHAPTER 5. MODULARIZARE
Bibliography
[1] F. Baader, T. Nipkow. Term Rewriting and All That. Cambridge University Press, 1998
[2] R. Burstall, J. Goguen. Putting theories together to make specications. In: R. Reddy editor, Proc.
Tifth International Joint Conference on Articial Intelligence, 1977, Cambridge, pp 1045-1058
[3] V. E. C azanescu, G. Rosu. Weak inclusion systems. Mathematical Structure in Computer Science,
7(2):195-206, 1997
[4] R. Diaconescu. Institution-independent Model Theory Birkhauser 2008
[5] R. Diaconescu, K. Futatsugi. CafeOBJ Report. The Language, Proof Techniques, and Methodologies
for Object-Oriented Algebraic Specication, volum 6 in AMAST Series in Computing. World Scientic,
1998
[6] R. Diaconescu, J. Goguen, P. Stefaneas. Logical support for modularisation. In Gerard Huet si Gordon
Plotkin, editori, Logical Environments, pag 83-130. Cambridge, 1993.
[7] H. Ehrig, B. Mahr. Fundamentals of Algebraic Specication 1: Equations and Initial Semantics.
EATCS Monographs on Theoretical Computer Science, vol 6. Springer-Verlag, 1985
[8] H. Ehrig, B. Mahr. Fundamentals of Algebraic Specication 2: Module Specications and Constraints.
EATCS Monographs on Theoretical Computer Science, vol 21. Springer-Verlag, 1990
[9] J. Goguen, Burstall. Institutions: Abstract model theory for specication and programming. Journal
of the ACM, 39(1):95-146, 1992
[10] J. Goguen, J. Thatcher, E. Wagner, J. Wright. Initial algebra semantics and continuous algebras,
Journal of the ACM, 24:68-95, 1977
[11] J. Goguen, J. Thatcher, E. Wagner. An initial algebra approach to the specication, correctness, and
implementation of abstract data types, Current trends in Programming Methodology, Vol. IV, Data
Structuring(R.T.Yeh, Editor), Prentice-Hall, 1978, 80-149
[12] J. Goguen, T.Winkler, J. Meseguer, K. Futatsugi, J.-P. Jouannaud. Introducing OBJ. In J. Goguen,
editor, applications of Algebraic Specication using OBJ. Cambridge, 1993
[13] D.E. Knuth, P. Bendix. Simple word problems in universal algebra. In J.Leech editor, Computational
Problems in Abstract Algebra, pages 263-97, Pergamon Press, 1970
[14] F. W. Lawvere. Functorial semantics of algebraic theories. Proceedings, National Academy of Sciences,
50:869-873, 1993. Summary of Ph.D. Thesis, Columbia University
[15] S. MacLane. Categories for the working mathematician. Graduate Texts in Mathematics 5, 2nd
edition, Springer-Verlag, 1998.
163
164 BIBLIOGRAPHY
[16] E. Ohlebusch. Advanced Topics in Term Rewriting. Springer Verlag, 2002
[17] Terese, Term Rewriting Systems, Cambridge Universitary Press, 2003

Vous aimerez peut-être aussi