Skip to main content

Cuvântul "algebră" poate avea mai multe semnificații în matematică dar în contextul teoriei categoriilor când spunem "algebră" ne vom referii în general la F-algebre sau algebre peste endofunctori. În acest context, o algebră încapsulează noțiunea de structură algebraică și este o noțiune foarte utilă pentru a definii structuri de date, mai ales structuri recursive.

Definiție: Algebră peste un endofunctor

Fie F:CCF : \mathcal{C} \rightarrow \mathcal{C} un endofunctor. O algebră a lui FF este o pereche (a,α)(a, \alpha) unde aOb(C)a \in Ob(\mathcal{C}), numit și carrier, și α:FaaHom(C)\alpha : Fa \rightarrow a \in Hom(\mathcal{C}). Dacă din context morfismul α\alpha este cunoscut sau unic atunci carrier-ul este referit ca fiind algebra.

Un homomorfism între algebre (a,α)(a, \alpha) și (b,β)(b, \beta) este un morfism f:abf : a \rightarrow b pentru care βFf=fα\beta \circ Ff = f \circ \alpha, adică următoarea diagramă comută:

Din algebre și homomorfisme între acestea peste endofunctorul FF putem forma o categorie iar dacă există obiectul inițial în acea categorie acesta este algebra inițială, adică avem câte un homomorfism unic de la acea algebră la oricare altă algebră a lui FF. Algebra inițială este un concept foarte important pentru că putem defini tipuri de date recursiv.

Teorema lui Lambek

Dacă pentru un endofunctor F:CCF : \mathcal{C} \rightarrow \mathcal{C} există algebra inițială (a,α)(a, \alpha) atunci aa este izomorf cu FaFa prin α\alpha.

Pentru că (Fa,Fα)(Fa, F\alpha) este tot o algebră și (a,α)(a, \alpha) este inițial atunci există un morfism unic i:aFai : a \rightarrow Fa pentru care iα=FαFii \circ \alpha = F\alpha \circ Fi, dar cum (a,α)(a, \alpha) este inițială și homomorfismul unic către ea însăși este dat de identitatea idaid_a rezultă că αi=ida\alpha \circ i = id_a și atunci iα=idFai \circ \alpha = id_{Fa}. Putem vedea cum se leagă toate aceste lucruri în diagrama următoare: