• Nie Znaleziono Wyników

4 Kategorie kartezja´ nsko zamkni ete

N/A
N/A
Protected

Academic year: 2021

Share "4 Kategorie kartezja´ nsko zamkni ete"

Copied!
9
0
0

Pełen tekst

(1)

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.,

(2)

• 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,,sciowo uporzadkowane,, za´s morfizmami funkcje monotoniczne (zachowujace porz, adek).,

• CPO to kategoria, w kt´orej obiektami sa zupe lne porz, adki cz,,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 ).

(3)

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)

(4)

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;

(5)

• 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:

(6)

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

(7)

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:

(8)

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:,

(9)

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.

Cytaty

Powiązane dokumenty

25 Stwierdzenie, 'e w widmie gwiazdy pojawiaj) si& linie charakterystyczne dla atomów wodoru i helu. Podanie podstawy zapisania wniosku:. Wszystkie zaznaczone linie

Sprawdzi´ c, ˙ze: rodzina {V (E)} E⊂R spe lnia aksjomaty rodziny podzbior´ ow domknie , tych dla pewnej topologii na

[r]

Z (??) wida´ c, ˙ze warto´sci pierwszych dw´ och wyraz´ ow ci¸ agu rekurencyjnego okre´sla wszystkie warto´sci tego ci¸ agu.. Ponadto, dane dowolne pierwsze warto´sci zawsze

[r]

Zadania powtórzeniowe do pierwszego kolokwium z podstaw logiki.

Wskazówka: Udowodni´c, · ze dla dowolnego sko´nczonego zbioru funkcji ist- nieje funkcja liniowo niezale· zna od nich..

jest potencjalne i poda¢ jego