Académique Documents
Professionnel Documents
Culture Documents
Carte Programare Logica
Carte Programare Logica
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 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
). 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
(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
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) 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) 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) 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).
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
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
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
= 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
= p
rezult a ca p
M. Conform extensivitat ii p p
deducem ca 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
si p
.
Propozit ie 1.3.5 Dac a M este o familie Moore si dac a pentru orice p P denim p
M
p
deducem p
M si p p
m} si p
. Folosind extensivitatea p
deducem p
= p
.
Daca p q cum 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
= p
.
Fie p P. Prin denit ie 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
.
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)
. Deoarece
a M deducem a
a. Asadar (infA)
) 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
(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
(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
, 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
) 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)
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
(X)
s
i
pentru orice 1 i n, atunci (t
1
, t
2
, . . . , t
n
) T
(X)
s
.
Mult imea S-sortat a 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
(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) 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
(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
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)
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
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
, {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
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
(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
)
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) 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
) 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
).
(b1, . . . , bn) = B
(r
s1
(b1), . . . , r
sn
(bn)) = r
s
(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
(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
(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)l
= r
si mai spunem ca algebra D satisface (X)l
= r.
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
(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
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.
(X) M.
44 CHAPTER 1. ALGEBRE MULTISORTATE
Pentru locarizare xam algebra T
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
(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
(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) 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
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
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?.
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.
= {(, 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
(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
in A prin:
a
b a
=
s
b.
Deoarece regulile R, S si T sunt n R
E
deducem ca
si e
A
: A A
|=
Demonstrat ie: Deoarece Sub
este n R
E
rezult a ca
Intruc at A
|= si
A
: A A
b, deci
a
=
s
b.
In concluzie congruent a
si congruent a semantica
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
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
(A) T
(A {}).
Un element c din T
(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) 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
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
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)
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
Q
= {(c[a], c[d]) : (a, d) Q
s
, c T
= (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
(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
(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
.
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
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.
Q
vom prefera s a scriem
=
. Relat ia
=
.
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
=
.
Demonstrat ie: Evident
=
, este nchis a si la
Rew
.
Fie W o relat ie nchis a la R, T, C si Rew
(Y ) A si h
t
(u)
Q
n1
h
t
(v)
2.4. RELAT IA DE
INT
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
=
(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
c si d
c.
Relat ia
.
Demonstrat ie: Din a
c si d
c si d
c deci a
d.
Aceasta dovedeste corectitudinea lui
este o congruent a.
Lema 2.4.5 Dac a
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
deducem ca h
s
(l)
h
s
(r). Prin urmare h
s
(l)
h
s
(r).
Fie A
si e : A A
|= .
Teorema 2.4.6 Dac a
.
Demonstrat ie: Folosind propozit ia 2.4.4 avem de demonstrat doar
.
Fie a
c. Deoarece A
|= si : A A
c.
In concluzie
.
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 ?
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
implic a n = n
, oricare ar
formele normale n si n
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
(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
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
.
2.4.4 Relat ii canonice
In practic a pentru a verica ca
si n
d si n d.
Deoarece 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
deducem ca R
.
Pentru a demonstra incluziunea contrar a este sucient s a ar atam ca R
este nchis a n C.
Dar 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
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
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
.
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
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.
sau .
2.5.3 Considerat ii metodologice
Pentru a demonstra ca a
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.
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)
la T
=
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)
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
, 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
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
(x) =
dac a x =
h(x) dac a x A
.
Pentru orice c din T
(B {}) e nr
B
; nr
B
= nr
(A {}), h
; ( h(a)).
Pentru orice c din T
(c)[h(a)].
Daca n plus morsmul h : A B este surjectiv pe componente, atunci morsmul
h
: T
(A {}) T
(B {}) exista c T
(A {}) cu proprietatea
h
(c) = c
(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
h
t
(a
uv
)
si h
t
(f
t
(v))
h
t
(a
uv
).
Pentru orice context c din T
(A{}), deoarece
, folosind contextul h
(c) si
morsmul f; h : T
(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
(B{})
s
dorim s a dovedim ca
c[f
s
(l)]
= c[f
s
(r)] D.
Deoarece -algebra liber a T
(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 |=
implic a 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.
(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)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
()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
c[m] si c[d]
=
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
= 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
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
:
(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
+
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
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
(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
(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
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
= 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
.
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
= e (2.11)
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
2.3
= e
B
2.10
= 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)
= A
(2.15)
Mai tarziu vom observa ca aceast a regul a este superua.
)
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)
= B
(2.16)
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
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)
(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
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
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
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
(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
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
h(b).
Fie f : B M|= . Cum h; f : A M|= si a
A
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
(X)
(Y )
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
= 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) 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
(X) T
astfel nc at ;
T
= h.
T
(X) T
T
,
h
T
(X)
Prin urmare
T
((l)) =
T
T
,
este morsmul
de factorizare al algebrei T
la congruent a semantica
deducem ca (l)
(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 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
.
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
(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 )
(Y ) cu o algebr a.
Denit ie 3.3.1 -morsmul f : T
.
Observat ia 3.3.2 Dac a este o mult ime de egalit at i adev arate din 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) T
(Y ) T
(Z) un morsm.
Vrem s a ar atam ca s; h : T
(X) T
(X) T
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 {}) 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
; ( h(a)).
Pentru un context c T
(c)[h(a)], unde 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
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
(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
(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
.
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
.
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
. (1)
Trebuie s a ar atam ca S : T
.
Deoarece S(G)
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
(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 Y ) 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
(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
(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]
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.
(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
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
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
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.
Q
vom prefera s a scriem
=
.
Relat ia
=
. Prin denit ie a
c si b
, adic a
.
Teorema 3.5.1 Dac a
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
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.
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
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
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
(X) T
.
Deoarece
, deducem ca (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) 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 {}), 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
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
(X). Fie : T
(X Y ) T
(Z)
o substitut ie a c arei restrict ie la T
(X Y ) T
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).
Dac a : T
(X) T
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
{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 Y ) T
(V ) si
: T
(V ) T
.
Notand cu : T
(X) T
(V ) restrict ia lui la T
(X) deducem ca =
.
Rezulta ca
G
n
(G
(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
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
n
G
cu morsmul calculat
si () =
= .
3.6.4 Epilog
Propozit ie 3.6.10 Fie G T
(X) T
(X) T
(Y ) este un uni-
cator pentru G, atunci G
r
cu substitut ia calculat a 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) 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
) 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
: T
(X) T
(u) si s(v)
(v).
Probam ca 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)
(u)
si s(v)
(v). Deoarece
(u)
(v). Deci s
: T
(X) T
(G)
T
(Z)
rezult a ca s
(G)
(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
r
cu morsmul calculat
si exista o substitut ie cu proprietatea = . Deoarece 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).
H)
e
{t
=
b
t}) =
[(G
H)]
e
{t
=
b
t}
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
. 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
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.
B astfel nc at (a, b) F,
(b, c) G, (a, b
) F si (b
, c
. Prin urmare
(b, c) G si (b, c
) G deci c = c
.
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).
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
. Deci p
= p
.
2. = este operator de nchidere.
Din (3) avem p p
. Cum p
= p
rezult a p
= p
deci p
= p
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
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 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),
|=
, 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 |=
(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 |=
.
Observ am ca E
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(
|=
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 dac a
(M |Mod()|)M |=
E =M |=
e.
Observat ia 4.4.5 E |=
.
Demonstrat ie: Din denit ie E |=
= M |=
e, adic a cu e E
,
deci cu e E
.
Mult imea 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
= 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 :
) Sen()(E)
.
Demonstrat ie: Plec and de la
Sen()(E
) Sen()(E
= Sen()(E
= (Mod()
1
(E
))
= (Mod()
1
(E
))
= (Sen()(E))
= (Sen()(E))
e implic a Sen()(E) |=
Sen()(e),
2. Dac a Mod() : Mod(
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).
Fie M |=
|Mod(
)|
astfel nc at M = Mod()(M
) |=
|=
|=
) |=
e, deci M |=
e.
Propozit ie 4.4.10 Dac a :
) 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
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
(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), i
Y
: Y 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)
!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
(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
1
implic a Mod()(M
1
) E
, E
) dac a
satisface condit iile echivalente ale propozit iei precedente.
Observat ia 4.5.4 Dac a : (, E) (
, E
) (
, E
)
este tot morsm de prezent ari.
Demonstrat ie: Din ipoteza rezult a ca Sen()(E) E
de unde Sen()(E)
) Sen()(E)
, E
)
(
, E
) 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
) |=
|=
Sen()(e), deci
echivalenta cu
M
|=
(,E)
Sen
p
()(e).
4.6 TEORII
Se numeste teorie o prezentare (, E) cu E = E
, 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
`
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.
,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
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).
) si
= (f
, g
) : (S
) (S
: (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
).
),
= (f
, g
) : (S
) (S
) si
= (f
, g
) : (S
) (S
);
= ((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
,sS
), unde
A : S Set si A
w,s
:
w,s
(A
w
A
s
) pentru orice w S
sau chiar A
)), functorul
Alg(f, g) : Alg
Alg
,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
,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
))
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
.
Fie = (f, g) : (S, ) (S
) si
= (f
, g
) : (S
) (S
); Alg() si Alg(;
,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(
, g
; h) = f; (f
; h) = (f; f
); h = Alg(;
)(h).
Deci Alg(); Alg(
) = Alg(;
), not am cu
#
: T
Alg()(T
)
unicul morsm de algebre. Reamintim ca 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(
) si = (f
, g
) : (S
) (S
)) = (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
(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
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
)
obt inem (L
)
s
(L
)
s
pentru orice s S. Mai mult 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
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
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
)
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
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
cu proprietatea
f
i
; f = u
i
pentru orice i |I|.
S
i
f
i
S
u
i
f
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
, 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
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
,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
-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
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
).
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
).
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
, v : 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
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
i
: (
i
, E
i
) (,
iI
Sen(
i
)(E
i
))
are urm atoarea proprietate:
pentru orice prezentare (
pentru care
i
: (
i
, E
i
) (
, E)
sunt morsme de prezent ari, : (,
iI
Sen(
i
)(E
i
)) (
i
: (
i
, E
i
) (
, E)
sunt morsme de prezentari, Sen(
i
)(E
i
) E
iI
Sen(
i
)(E
i
)) =
iI
Sen()(Sen(
i
)(E
i
)) =
iI
Sen(
i
)(E
i
) E
,
deducem ca : (,
iI
Sen(
i
)(E
i
)) (
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
(
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 (
pentru care
i
: (
i
, E
i
) (
, E)
sunt morsme de teorii, : (, [
iI
Sen(
i
)(E
i
)]
) (
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
)]
) (
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
(
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)
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
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
)]
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
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 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 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 S si
w,s
. Deoarece (f, g) : (S
, s
si
,s
cu proprietat ile f
(w
) = w, f(s
) = s si g
w
,s
(
) = . Deoarece
(f
, g
) : (S
) (S
, 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
(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.
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
; 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
(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(,
, E
, E
)) si I((, E), (
, E
) = si I(,
)) = , deci
=
. Deoarece 1
: (, E) (, E
) si
1
: (, E
. Deci (, E) = (
, E
).
5.5. CATEGORII INCLUSIVE 153
Deoarece pentru orice teorie (, E), 1
si E
2
= Sen()(E
1
)
= (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
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
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
.
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
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
) un
morsm de signaturi.
Plec and de la incluziunea de mult imi S S
si funct ia f : S S
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)
?
?
?
?
?
?
?
(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
,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
/
?
?
?
?
?
?
(
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
, 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
= {M
Mod
p
(
, E
) : Mod
p
()(M
) M}
b) Extending
M
= {M
Mod
p
(
, E
)}
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
)}
c) Using
M
= {M
Mod
p
(
, E
)}
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