Rachunek lambda w kategoriach kartezja´ nsko zamkni etych ,
Krzysiek Kapulkin semestr letni 2009/10
1 Kategorie, funktory i naturalne transformacje
Definicja 1. Kategorie C tworz, a klasa obiekt´, ow ob(C) i klasa morfizm´ow mor(C), przy czym zak ladamy, ˙ze:
1. Ka˙zdy morfizm f ∈ mor(C) posiada dziedzine dom(f ) ∈ ob(C) oraz prze-, ciwdziedzine cod(f ) ∈ ob(C). Je´sli X = dom(f ), Y = cod(f ), to piszemy, f : X //Y . Rodzine wszystkich morfizm´, ow o dziedzinie X i przeciwdzie- dzinie Y oznaczamy homC(X, Y ). Je´sli f i g sa dwoma morfizmami takimi,,
˙ze cod(f ) = dom(g), to istnieje morfizm h taki, ˙ze dom(h) = dom(f ) oraz cod(h) = cod(g) nazywany z lo˙zeniem h = g ◦ f :
A h //
fBBBBB!!B
BB C
B
g
|==|
||
||
||
2. Dla ka˙zdego X ∈ ob(C) istnieje morfizm identyczno´sciowy idX ∈ homC(X, X).
3. je´sli f : X //Y , to idY ◦ f = f ◦ idX = f . 4. je´sli f : X //Y , g : Y //Z i h : Z //T , to
h ◦ (g ◦ f ) = (h ◦ g) ◦ f.
Przyk lady 1.
• 0 to kategoria pusta (ob(C) = mor(C) = ∅).
• 1 to kategoria z jednym obiektem ∗ i jednym morfizmem id∗.
• 2 to kategoria z dwoma obiektami i jednym morfizmem nieidentyczno´sciowym miedzy nimi.,
• Sets to kategoria, kt´orej obiektami sa zbiory, a morfizmami funkcje.,
• Grp to kategoria, kt´orej obiektami sa grupy, a morfizmami homomorfizmy, grup.
• Monoids to kategoria, kt´orej obiektami sa monoidy, a morfizmami homomor-, fizmy monoid´ow.
• Powy˙zsze dwa przyk lady mo˙zna uog´olni´c: niech T – teoria r´owno´sciowa. W´ow- czas przez Alg(T) bedziemy oznacza´, c kategorie T-algebr i ich homomorfizm´ow.,
• Niech M (odp. G) bedzie monoidem (odp. grup, a). W´, owczas M (odp. G) mo˙zemy traktowa´c jako kategorie z jednym obiektem ∗, w kt´, orej morfizmami sa, elementy monoidu (odp. grupy). Element neutralny pe lni role identyczno´, sci, za´s mno˙zenie w monoidzie (odp. grupie) jest sk ladaniem morfizm´ow.
• Vectk to kategoria przestrzeni liniowych nad ustalonym cia lem k, w kt´orej morfizmami sa przekszta lcenia liniowe.,
• Grph to kategoria graf´ow. Przez graf rozumiemy tu czw´orke, (O, A, d : A //O, c : A //O),
gdzie O jest zbiorem wierzcho lk´ow, A zbiorem krawedzi, funkcja d przyporz, ad-, kowuje krawedzi jej dziedzin, e, za´, s c jej przeciwdziedzine. Morfizmem w kate-, gorii graf´ow nazywamy takie przekszta lcenie
f : (O, A, d : A //O, c : A //O) //(O0, A0, d0: A0 //O0, c0: A0 //O0),
˙ze d0(f (a)) = f (d(a)) oraz c0(f (a)) = f (c(a)).
• Top to kategoria, kt´orej obiektami sa przestrzenie topologiczne, a morfizmami, przekszta lcenia ciag le.,
• Zbi´or cze´,sciowo uporzadkowany hP, ≤i mo˙zemy traktowa´, c jako kategorie. Jej, obiektami sa elementy P . Ponadto:,
homC(p, p0) =
{∗} je´sli p ≤ p0
∅ w przeciwnym przypadku
• Posets to kategoria, w kt´orej obiektami sa zbiory cz, e´,sciowo uporzadkowane,, za´s morfizmami funkcje monotoniczne (zachowujace porz, adek).,
• CPO to kategoria, w kt´orej obiektami sa zupe lne porz, adki cz, e´,sciowe, za´s morfizmami funkcje ciag le (w sensie Scotta).,
• Niech C bedzie kategori, a. Kategori, a dualn, a do C nazywamy kategori, e C, opzde- finiowana nast, epuj, aco: ob(C, op) = ob(C), za´s homCop(X, Y ) = homC(Y, X).
Powiemy, ˙ze kategoria C jest ma la, je´sli ob(C) i mor(C) sa zbiorami., Przyk lady 2.
• Kategorie 0, 1 i 2 to kategorie ma le.
• Grupa G rozwa˙zana jako kategoria jest kategoria ma l, a.,
• Zbi´or uporzadkowany hP, ≤i rozwa˙zany jako kategoria jest kategori, a ma l, a., Definicja 2. Niech C i D bed, a kategoriami. Funktorem F : C, //D nazywamy pare przekszta lce´, n przyporzadkowuj, acych obiektom C obiekty D, a morfizmom C, morfizmy D spe lniajac, a warunki:,
1. Je´sli f ∈ mor(C), to F (dom(f )) = dom(F (f )) oraz F (cod(f )) = cod(F (f )).
2. Dla ka˙zdego X ∈ ob(C) zachodzi F (idX) = idF (X).
3. Dladowolnej sk ladalnej pary morfizm´ow f, g ∈ mor(C) zachodzi F (g ◦ f ) = F (g) ◦ F (f ).
Przyk lady 3.
• U : Grp //Sets to funktor
”zapominania”. Grupie hG, e, ◦i przyporzadko-, wujemy jej uniwersum G, a homomorfizmowi grup f : hG, e, ◦i //hG0, e0, ◦0i funkcje f : G, //G0.
• U : CRng //Ab to funktor cze´,sciowego zapominania z kategorii pier´scieni w kategorie grup abelowych. Pier´, scieniowi hR, 0, +, ·i przyporzadkowujemy, jego grupe addytywn, a hR, 0, +i.,
• ab : Grp //Ab to funktor abelianizacji przyporzadkowuj, acy grupie jej abe-, lianizacje.,
• i : Grp //Monoids to w lo˙zenie kategorii grup w kategorie monoid´, ow.
• i : Setsf in //Sets to w lo˙zenie kategorii zbior´ow sko´nczonych w kategorie, wszystkich zbior´ow.
• F : Sets //Grp to funktor przyporzadkowuj, acy zbiorowi X grup, e woln, a, na zbiorze wolnych generator´ow X. Z definicji grupy wolnej (przez w lasno´s´c uniwersalna) mamy, ˙ze w´, owczas ka˙zda funkcja f : X //Y rozszerza sie je-, dnoznacznie do homomorfizmu grup F (f ) : F (X) //F (Y ).
• X × (−) : Sets //Sets to funktor mno˙zenia kartezja´nskiego przez ustalony zbi´or X ∈ Sets. Obiektowi A ∈ Sets przyporzadkowujemy zbi´, or X × A, za´s funkcji f : A //B funkcje (id, X, f ) : X ×A //X ×B taka, ˙ze (id, X, f )(x, a) = (x, f (a)).
• U : Top //Sets to funktor zapominania przypisujacy przestrzeni topologicz-, nej (X, O(X)) zbi´or X, a przekszta lceniu ciag lemu f : (X, O(X)), //(Y, O(Y )) funkcje f : X, //Y .
• D : Sets //Top to funktor przyporzadkowuj, acy zbiorowi X przestrze´, n to- pologiczna (X, O(X)), gdzie O(X) jest topologi, a dyskretn, a na X tj. ka˙zdy, zbi´or jest otwarty. W´owczas ka˙zda funkcja f : X //Y mo˙ze by´c traktowana jako przekszta lcenie ciag le f : (X, O(X)), //(Y, O(Y )).
Funktor z kategorii Cop do kategorii D nazywamy czesto funktorem kontrawariant-, nym z C do D. Wtedy o”zwyk lym” funktorze m´owimy, ˙ze jest kowariantny.
• P : Sets //Sets funktor zbioru potegowego jest funktorem kontrawariant-, nym. Przyporzadkowuje on zbiorowi X ∈ Sets jego zbi´, or potegowy P(X)., Niech f : X //Y bedzie funkcj, a. W´, owczas P(f ) : P(Y ) //P(X) jest funk- cja przeciwobrazu, tj. dla A ∈ P(Y ) mamy: P(f )(A) = f, −1(A).
Mo˙zemy zdefiniowa´c kategorie Cat nast, epuj, aco:,
• jej obiektami bed, a wszystkie ma le kategorie.,
• jej morfizmami b
ed, a funktory.,
Definicja 3. Niech C, D bed, a kategoriami, za´, s F, G : C //D funktorami. Natu- ralna transformacj, a τ : F, //G nazywamy rodzine morfizm´, ow w D indeksowana, obiektami C tj.
τ = {τC: F (C) //G(C)}C∈ob(C)
taka, ˙ze dla dowolnego morfizmu f : C, //D kwadrat F (C) τC //
F (f )
G(C)
G(f )
F (D) τ
D
//G(D)
jest przemienny.
Przyk lady 4.
• Niech F : C //D bedzie funktorem. Definiujemy transformacj, e identyczno´, s- ciowa id, F: F //F jako idF = {idF (C): F (C) //F (C)}C∈ob(C). Przemien- no´s´c kwadratu:
F (C) idF (C)//
F (f )
F (C)
F (f )
F (D)
idF (D)//F (D) wynika bezpo´srednio z definicji kategorii.
• Niech X × (−), Y × (−) : Sets //Sets bed, a funktorami mno˙zenia kartezja´, n- skiego. W´owczas dowolna funkcja f : X //Y indukuje naturalna transfor-, macje τ, f tych funktor´ow. Mamy bowiem τf = {τA: X × A //Y × A}A∈Sets, gdzie τA= f × idA. Niech a : A //B bedzie funkcj, a. W´, owczas przemienno´s´c kwadratu:
X × A f ×idA//
idX×a
Y × A
idY×a
X × B f ×id
B
//Y × B jest oczywista.
• Niech 1Sets: Sets //Sets to funktor identyczno´sciowy, za´s P : Sets //Sets niech bedzie funktorem pot, egowym. Okre´, slamy w´owczas naturalna transfor-, macje τ : 1, Sets //P jako τ = {τX: X //P(X)}X∈Sets, gdzie τX(x) = {x}.
• Niech idVectk, (−)∗∗: Vectk //Vectkbed, a odpowiednio funktorem identycz-, no´sciowym i funktorem przyporzadkowuj, acym przestrzeni liniowej jej drug, a, przestrze´n sprze˙zon, a (tj. V, ∗∗ = hom(hom(V, k), k)). Okre´slamy naturalna, transformacje ev : id, Vectk //(−)∗∗ jako: ev = {evV : V //V∗∗}V ∈Vectk, gdzie evV(v)(f ) = f (v) dla v ∈ V i f ∈ hom(V, k).
2 W lasno´ sci morfizm´ ow
Niech f : C //D bedzie morfizmem w kategorii C. Powiemy, ˙ze f jest:,
• monomorfizmem, je´sli dla dowolnych morfizm´ow g, h : B //C mamy:
f ◦ g = f ◦ h ⇒ g = h;
• epimorfizmem, je´sli dla dowolnych morfizm´ow g, h : D //E mamy:
g ◦ f = h ◦ f ⇒ g = h;
• retrakcja, je´, sli istnieje taki morfizm g : D //C, ˙ze f ◦ g = idD;
• sekcj
a, je´, sli istnieje taki morfizm g : D //C, ˙ze g ◦ f = idC.
• izomorfizmem, je´sli istnieje morfizm g : D //C taki, ˙ze f ◦ g = idD oraz g ◦ f = idC.
Latwo zauwa˙zy´c, ˙ze pojecia monomorfizmu i epimorfizmu, jak r´, ownie˙z retrakcji i sek- cji sa poj, eciami dualnymi, tzn. monomorfizm (retrakcja) w C jest epimorfizmem, (odp. sekcja) w C, op i na odwr´ot: epimorfizm (sekcja) w C jest monomorfizmem (odp. retrakcja) w C, op.
Przyk lady 5.
• Monomorfizmy w Sets to funkcje r´o˙znowarto´sciowe. Epimorfizmy w Sets to funkcje
”na”. Izomorfizmy w Sets to bijekcje.
• W og´olno´sci, morfizm, kt´ory jest mono i epimorfizmem, nie musi by´c izo- morfizmem. Jako przyk lad mo˙zemy wzia´,c w lo˙zenie i : N //Z w kategorii Monoids.
3 Konstrukcje w kategoriach
Niech C bedzie kategori, a. Obiekt 1 ∈ C (0 ∈ C) nazywamy obiektem ko´, ncowym (odp. obiektem poczatkowym), je´, sli dla ka˙zdego obiektu C ∈ C istnieje dok ladnie jeden morfizm ! : C //1 (odp. ! : 0 //C).
Latwo zauwa˙zy´c, ˙ze obiekt ko´ncowy (poczatkowy), je´, sli istnieje, to jest wyzna- czony jednoznacznie z dok ladno´scia do izomorfizmu. Mianowicie, przypu´, s´cmy, ˙ze X i Y sa dwoma obiektami ko´, ncowymi (poczatkowymi) w C. W´owczas istnieje, dok ladnie jeden morfizm f : X //Y oraz dok ladnie jeden morfizm g : Y //X.
Oczywi´scie, f ◦ g = idY oraz g ◦ f = idX, stad X i Y s, a izomorficzne.,
Mo˙zna te˙z zauwa˙zy´c, ˙ze obiekt ko´ncowy w C jest obiektem poczatkowym w C, op i na odwr´ot: obiekt poczatkowy w C jest obiektem ko´, ncowym w Cop.
Przyk lady 6.
• Obiektem poczatkowym w kategorii zbior´, ow Sets jest zbi´or pusty ∅. Obiektem ko´ncowym w Sets jest dowolny singleton {∗}.
• Obiektem poczatkowym i ko´, ncowym w kategorii grup Grp jest grupa jedno- elementowa {∗}.
• W kategorii cia l Fields nie istnieje obiekt ko´ncowy. Wynika to bezpo´srednio z faktu, ˙ze w´sr´od aksomat´ow cia la zak ladamy: 0 6= 1. W kategorii tej nie istnieje r´ownie˙z obiekt poczatkowy, bowiem cia la mog, a mie´, c r´o˙zne charakte- rystyki.
• Rozwa˙zmy dowolna kategori, e zbudowan, a na posecie P = hP, ≤i. W´, owczas obiektem ko´ncowym (odp. poczatkowym) w P jest element najwi, ekszy (odp., najmniejszy) w P , o ile taki element istnieje. W przeciwnym przypadku P nie posiada obiektu ko´ncowego (odp. poczatkowego),
Niech C bedzie kategori, a. Produktem binarnym obiekt´, ow X, Y ∈ C nazywamy obiekt oznaczany X × Y , kt´ory wraz z morfizmami πX: X × Y //X i πY : X × Y //Y ma nastepuj, ac, a w lasno´, s´c:
Dla ka˙zdego obiektu Z oraz morfizm´ow fX: Z //X i fY : Z //Y istnieje dok lad- nie jeden morfizm f : Z //X ×Y spe lniajacy warunki f, X = πX◦f oraz fY = πY◦f tzn. uprzemienniajacy oba tr´, ojkaty w poni˙zszym diagramie:,
X oo πX X × Y πY //Y
Z
fX
ddIIII
IIIIII fY
v::v vv vv vv vv
hfX,fYi
OO
Niech C bedzie kategori, a. Koproduktem binarnym obiekt´, ow X, Y ∈ C nazywamy obiekt oznaczany X + Y , wraz z morfizmami iX: X //X + Y i iY: Y //X + Y , kt´ory spe lnia nastepuj, acy warunek:,
Dla ka˙zdego obiektu Z oraz morfizm´ow fX: X //Z i fY : Y //Z istnieje do- k ladnie jeden morfizm f : X + Y //Z o w lasno´sciach fX = f ◦ iX oraz fY = f ◦ iY tzn. uprzemienniajacy oba tr´, ojkaty w poni˙zszym diagramie:,
X iX //
fIXIIIII$$I II
I X + Y
hfX,fYi
iY Y
oo
fX
zzvvvvvvvvvv
Z
Analogicznie jak powy˙zej mo˙zemy stwierdzi´c, ˙ze produkt i koprodukt binarny wy- znaczone sa z dok ladno´, scia do izomorfizmu (proste sprawdzenie pozostawiamy Czy-, telnikowi). Ponadto sa poj, eciami dualnymi, tj. produkt w C jest koproduktem, w Cop oraz koprodukt w C jest produktem w Cop.
Przyk lady 7.
• W kategorii zbior´ow Sets produkt binarny to iloczyn kartezja´nski dw´och zbio- r´ow, za´s koprodukt binarny to suma roz laczna, czyli zbi´, or {0} × X ∪ {1} × Y .
• W kategorii grup abelowych Ab produkt i koprodukt binarny to iloczyn kar- tezja´nski grup, z dzia laniami wykonywanymi po wsp´o lrzednych.,
• W kategorii definiowanej przez zbi´or cze´,sciowo uporzadkowany P = hP, ≤i, produkty dane sa przez operacj, e kresu g´, ornego u, za´s koprodukty przez kresy dolne t.
• W kategorii cia l Fields nie istnieja produkty, bowiem w ka˙zdym ciele zachodzi:, a · b = 0 =⇒ a = 0 lub b = 0.
Jednak w produkcie cia l mieliby´smy dwa niezerowe elementy: (1, 0) i (0, 1), kt´orych iloczyn dawa lby 0 w wyniku.
Niech teraz C bedzie dowoln, a kategori, a z produktami binarnymi. Powiemy, ˙ze C ma, obiekty wyk ladnicze, je´sli dla dowolnej pary obiekt´ow A, B ∈ ob(C) istnieje obiekt BA ∈ ob(C) wraz z morfizmami evalA,B: BA× A //B (tworzacymi naturaln, a, transformacje) o tej w lasno´, sci, ˙ze dla dowolnego f : C × A //B istnieje dok ladnie jeden morfizm curry(f ) : C //BA, kt´ory uprzemiennia poni˙zszy diagram:
BA BA× A eval //B
C
curry(f )
OO
C × A
curry(f )×1A
OO
f
x;;x xx xx xx xx xx xx xx xx x
Przyk lady 8.
• W kategorii Sets obiektem wyk ladniczym YX jest zbi´or wszystkich funkcji o dziedzinie X i przeciwdziedzinie Y .
• Kategoria Cat ma obiekty wyk ladnicze: DCmo˙zemy zdefiniowa´c jako kategorie, funktor´ow F : C //D, w kt´orej morfizmami sa naturalne transformacje.,
• Algebra Heytinga rozpatrywana jako kategoria ma obiekty wyk ladnicze dane przez a → b. Istotnie, patrzac na algebry Heytinga z punktu widzenia logiki,, eval mo ˙zemy zinterpretowa´c jako regu le eliminacji implikacji (modus ponens),, za´s curry wyra˙za regu le wprowadzania implikacji.,
• W CPO obiektami wyk ladniczymi s
a przestrzenie funkcji ci, ag lych [D ⇒ E],, z uporzadkowaniem,
”po wsp´o lrzednych”.,
4 Kategorie kartezja´ nsko zamkni ete
,Kategorie nazywamy kartezja´, nsko zamkniet, a, je´, sli ma:
1. produkty binarne, 2. obiekt ko´ncowy, 3. obiekty wyk ladnicze.
Przyk lady 9.
• Kategoria Sets jest kategoria kartezja´, nsko zamkniet, a.,
• Kategoria Posets jest kategori
a kartezja´, nsko zamkniet, a.,
• Kategoria CPO jest kartezja´nsko zamknieta.,
• Kategoria Cat jest kategoria kartezja´, nsko zamkniet, a.,
• (Giuseppe Rosolini). Kategoria PERs, kt´orej obiektami sa pary: zbi´, or z cze´,sciowa relacj, a r´, ownowa˙zno´sci (tj. relacja, kt´, ora jest symetryczna i prze- chodnia, ale niekoniecznie zwrotna), za´s morfizmami funkcje zachowujace rela-, cje, jest kategoria kartezja´, nsko zamkniet, a. Obiektem wyk ladniczym dla pary, obiekt´ow: hA, Ri, hB, Si jest zbi´or wszystkich funkcji z A do B z relacja, [R //S], gdzie f [R //S]g wtedy i tylko wtedy, gdy f i g indukuja te, same funkcje na klasach abstrakcji A/R //B/S.
5 Sk ladnia rachunku lambda z typami prostymi
Typy. Zak ladamy, ˙ze dany jest zbi´or symboli typ´ow S. Nad S definiujemy zbi´or typ´ow jako najmniejszy zbi´or taki, ˙ze
1. ka˙zdy symbol typu jest typem.
2. je´sli T1 i T2 sa typami, to T, 1 //T2 te˙z jest typem.
Termy. Nastepnie definujemy zbi´, or term´ow nad zbiorem sta lych C. Ka˙zdy term jest etykietowany: napis t : T oznacza, ˙ze term t jest typu T . Ka˙zdy term t : T posiada te˙z zbi´or zmiennych wolnych F V (t).
Zbi´or term´ow to najmniejszy zbi´or taki, ˙ze:
1. (sta le) ka˙zda sta la z C, c : C jest termem; przy tym F V (c) = ∅;
2. (zmienne) dla ka˙zdego typu T mamy przeliczalny zbi´or zmiennych typu T : x1: T, x2: T, . . .; dla zmiennych F V (xi) = {xi: T };
3. (aplikacje) je´sli t : (T1 //T2) i s : T1 sa termami to (ts) : T, 2 te˙z jest termem;
okre´slamy F V (ts) = F V (t) ∪ F V (s);
4. (λ-abstrakcje) je´sli t : T2 jest termem a x : T1 zmienna to λx.t : T, 1 //T2 te˙z jest termem; przyjmujemy F V (λx.t) = F V (t) \ {x : T1}.
Termy rachunku λ uto˙zsamiamy zawsze, gdy r´o˙znia si, e tylko zmiennymi zwi, azanymi, (α-konwersja). W szczeg´olno´sci, termy λx.xy i λx0.x0y uwa˙zamy za r´owne, za´s termy λx.xy i λx.xy0 za r´o˙zne.
Podstawienie. Definujemy podstawienie t[s/x] : T2
termu s : T1 na zmienna woln, a x : T, 1 w termie t : T2. Jest to
”wstawienie” termu s : T1 we wszystkie wystapienia wolne zmiennej x : T, 1, ale tak, by zmienne z s : T1
nie zosta ly przy tym zwiazane. Dok ladniej:,
t[s/x] =
s gdy t : T2 jest zmienna x : T, 1,
t gdy t : T2 jest zmienna r´, o˙zna od x : T, 1, t1[s/x]t2[s/x] gdy t = t1t2: T2,
t gdy t = λx.t1: T2,
λy.t1[s/x] gdy t = λy.t1: T2 oraz y 6∈ F V (s).
Poniewa˙z uto˙zsamiamy dwa termy, je´sli r´o˙znia si, e tylko zmiennymi zwi, azanymi,, zawsze mo˙zemy tak dobra´c term t1 i zmienna y, by t = λy.t, 1: T2oraz by y 6∈ F V (s).
Podobnie mo˙zemy zdefiniowa´c jednoczesne podstawienie t[s1/x1, . . . , sn/xn] : T
term´ow s1: T1, . . . , sn: Tn, na zmienne x1: T1, . . . , xn: Tn w termie t : T .
6 Semantyka rachunku lambda
Interpretacje. Poka˙zemy, ˙ze kategorie kartezja´nsko zamkniete s, a,
”dostatecznie bogatymi uniwersami”, by mo˙zna w nich by lo interpretowa´c rachunek lambda.
Niech C bedzie kategori, a kartezja´, nsko zamknieta. Zak ladamy teraz, ˙ze w C, mamy ustalone: obiekt ko´ncowy 1, produkty binarne i obiekty wyk ladnicze.
Interpretacja jezyka przyporz, adkowuje ka˙zdemu symbolowi typu S obiekt [[S]]., Interpretacje rozszerzamy do interpretacji wszystkich typ´ow w ten spos´ob, by
[[T1 //T2]] = [[T2]][[T1]]. Ponadto dla ka˙zdej sta lej c : T , wybieramy morfizm
[[c]] : 1 //[[T ]].
Interpretacja ta rozszerza sie do interpretacji wszystkich term´, ow w nastepuj, acy spo-, s´ob. Dla zbioru zmiennych Γ = {x1: T1, . . . , xn: Tn} okre´slamy
[[Γ]] = [[T1]] × . . . × [[Tn]]
Interpretacja termu t : T b, edzie morfizm:,
[[t]] : [[F V (t)]] //[[T ]]
zdefiniowany nastepuj, aco:,
1. [[x]] jest identyczno´scia na [[T ]] dla dowolnej zmiennej x : T ;,
2. je´sli [[t]] : [[F V (t)]] //[[T2]][[T1]] oraz [[s]] : [[F V (s)]] //[[T1]], to morfizm [[ts]] : [[F V (ts)]] //[[T2]]
jest z lo˙zeniem
eval[[T1]],[[T2]]◦ h[[t]] ◦ πt, [[s]] ◦ πsi : [[F V (ts)]] //[[T2]][[T1]]× [[T1]] //[[T2]], gdzie πsi πtsa rzutowaniami z [[F V (ts)]] odpowiednio na [[F V (s)]] oraz [[F V (t)]];, 3. dla [[t]] : [[F V (t)]] //[[T2]] oraz zmiennej x : T1, okre´slamy interpretacje λx.t,
jako morfizm
[[λx.t]] = curry[[t]] : [[F V (t) \ {x : T1}]] //[[T2]][[T1]].
Podstawienie. Niech Γ = hx1:S1, x2:S2, . . . , xn:Sni, ∆ = hy1:T1, y2:T2, . . . , yk:Tki bed, a kontekstami. Jednoczesnym podstawieniem nazywamy n-tk, e σ = ht, 1, t2, . . . , tki o tej w lasno´sci, ˙ze dla dowolnego 1 ≤ i ≤ k zachodzi Γ ` ti: Ti. Interpretacja takiego, podstawienia jest morfizm:
[[σ]] = h[[t1]], [[t2]], . . . , [[tk]]i,
za´s interpretacja wyniku podstawienia t[σ] = t[t, 1/y1, t2/y2, . . . , tk/yk] : T, jest z lo˙ze- nie morfizm´ow:
[[t]] ◦ [[σ]] : [[∆]] //[[Γ]] //[[T ]].
Twierdzenie 1. (o poprawno´sci). Semantyka rachunku lambda w kategoriach kartezja´nsko zamknietych ma takie w lasno´, sci:
(β) Je´sli Γ, x : T1` t : T2 oraz Γ ` s : T1, to [[(λx.t)s]] = [[t[s/x]]].
(η) Je´sli Γ ` T1 //T2, to [[λx.tx]] = [[t]].
Dow´od: Zaczniemy od β-r´ownowa˙zno´sci. Mamy nastepuj, acy ci, ag r´, owno´sci:
[[(λx.t)s]] = eval[[T1]],[[T2]]◦ hcurry([[t]]), [[s]]i = (produkt)
= eval[[T1]],[[T2]]◦ (curry([[t]]) × 1[[T1]]) ◦ h1[[Γ]], [[s]]i = (eval)
= [[t]] ◦ h1[[Γ]], [[s]]i = (podstawienie)
= [[t]] ◦ [[h−→x , si]] = (podstawienie)
= [[t[s/x]]]
By pokaza´c, ˙ze η-r´ownowa˙zne termy sa nierozr´, o˙znialne przy interpretacji w kate- goriach kartezja´nsko zamknietych, rozpatrzmy nast, epuj, acy ci, ag r´, owno´sci:
[[λx.tx]] = curry([[tx]]) = (definicja eval)
= curry(eval[[T1]],[[T2]]◦ ([[t]] × 1[[T1]])) =
= [[t]]
Prawdziwe jest r´ownie˙z twierdzenie odwrotne (o pe lno´sci), stwierdzajace, ˙ze je´, sli dana r´owno´s´c zachodzi w dowolnej kategorii kartezja´nsko zamknietej, to jest do-, wodliwa syntaktycznie. Podobnie jak w klasycznej teorii modeli, dow´od polega na zbudowaniu odpowiedniej konstrukcji z term´ow (modulo β- i η-r´ownowa˙zno´s´c), zwa- nej kategoria syntaktyczn, a lub klasyfikuj, ac, a. Obiektami takiej kategorii s, a konteksty,, za´s morfizmami podstawienia. Latwo sprawdzi´c, ˙ze taka kategoria jest kartezja´nsko zamknieta, a jako konstrukcja z term´, ow spe lnia tylko niezbedne r´, owno´sci.