Teoria das Categorias: Uma introdução

2.648 visualizações

Publicada em

Lâminas sobre teoria das categorias

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.648
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
79
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Teoria das Categorias: Uma introdução

  1. 1. 1 Teoria das Categorias: uma introdu¸˜o ca Prof. Carlos A. P. Campani 8 de mar¸o de 2006 c
  2. 2. 2 Copyright c 2005 Carlos A. P. Campani. ´ E garantida a permiss˜o para copiar, distribuir e/ou a modificar este documento sob os termos da Licen¸a de c Documenta¸ao Livre GNU (GNU Free Documentation c˜ License), Vers˜o 1.2 ou qualquer vers˜o posterior a a publicada pela Free Software Foundation; sem Se¸oes c˜ Invariantes, Textos de Capa Frontal, e sem Textos de Quarta Capa. Uma c´pia da licen¸a ´ inclu´ na se¸ao o c e ıda c˜ intitulada “GNU Free Documentation License”. veja: http://www.ic.unicamp.br/~norton/fdl.html.
  3. 3. 3 Bibliografia • ASPERTI, A. ; LONGO, G. Categories Types and Structures: an introduction to Category Theory for the working computer scientist. MIT Press, 1991. Dispon´ em: ftp://ftp.di.ens.fr/pub/users/ ıvel longo/CategTypesStructures/book.pdf. • MENEZES, P. ; HAEUSLER, E. Teoria das Categorias para Ciˆncia da Computa¸˜o. Editora e ca Sagra Luzzatto, 2001. • MAC LANE, S. Categories for the Working Mathematician, Springer-Verlag, 1971.
  4. 4. 1 ¸˜ INTRODUCAO 4 1 Introdu¸˜o ca • Teoria das Categorias estuda “objetos” e “morfismos” entre eles; • Ela ´ uma generaliza¸ao da teoria dos conjuntos e e c˜ das fun¸oes: c˜ – Objetos = Conjuntos estruturados; – Morfismos = “fun¸˜es”; co
  5. 5. 1 ¸˜ INTRODUCAO 5 • Fornece uma ferramenta para a descri¸˜o abstrata de ca problemas de matem´tica; a • Fornece um jarg˜o matem´tico e um ambiente a a matem´tico consistente e unificado para a a investiga¸ao em matem´tica; c˜ a
  6. 6. 1 ¸˜ INTRODUCAO 6 Teoria das categorias P1 P2 Outra teoria E1 E2
  7. 7. 1 ¸˜ INTRODUCAO 7 • A capacidade de generaliza¸ao, abstra¸˜o e unifica¸ao c˜ ca c˜ s˜o os principais m´ritos de Teoria das Categorias; a e • A relevˆncia de Teoria das Categorias para Ciˆncia a e da Computa¸ao ´ que Teoria da Computa¸ao, assim c˜ e c˜ como Teoria das Categorias, ´ uma “teoria das e fun¸˜es”; co • Fornece uma estrutura para o estudo de semˆntica de a linguagens de programa¸ao. c˜
  8. 8. 2 ¸˜ DEFINICAO DE CATEGORIA 8 2 Defini¸˜o de Categoria ca • A unica opera¸ao b´sica de Teoria das Categorias ´ a ´ c˜ a e composi¸˜o; ca • Exige-se que a composi¸ao seja associativa e que c˜ exista uma identidade para todos os objetos;
  9. 9. 2 ¸˜ DEFINICAO DE CATEGORIA 9 Uma categoria C ´: e 1. Uma cole¸ao ObC de objetos, denotados por c˜ a, b, . . . , A, B, . . .; 2. Uma cole¸ao MorC de morfismos (setas), denotadas c˜ por f, g, . . .; 3. As opera¸˜es dom e cod atribuindo para cada seta f co dois objetos, respectivamente dom´nio (origem) e ı codom´nio (destino) de f ; ı
  10. 10. 2 ¸˜ DEFINICAO DE CATEGORIA 10 4. Uma opera¸˜o id associando a cada objeto b um ca morfismo idb (a identidade de b) tal que dom(idb ) = cod(idb ) = b; 5. Uma opera¸˜o ◦ (composi¸˜o) associando a cada par ca ca de setas f e g, com dom(f ) = cod(g) uma seta f ◦ g tal que dom(f ◦ g) = dom(g) e cod(f ◦ g) = cod(f ).
  11. 11. 2 ¸˜ DEFINICAO DE CATEGORIA 11 Identidade e composi¸˜o devem satisfazer: ca Lei da identidade Para quaisquer setas f e g, tal que cod(f ) = dom(g) = b, idb ◦ f = f e g ◦ idb = g; Lei da associatividade Para quaisquer setas f , g e h, tal que dom(f ) = cod(g) e dom(g) = cod(h), (f ◦ g) ◦ h = f ◦ (g ◦ h).
  12. 12. 2 ¸˜ DEFINICAO DE CATEGORIA 12 Nota¸ao: c˜ • f : a → b denota um morfismo com origem a e destino b; • Dados dois objetos a e b, o conjunto de todos os morfismos f tal que f : a → b ´ denotado por C[a, b]. e Assim, f ∈ C[a, b] significa que dom(f ) = a e cod(f ) = b.
  13. 13. 2 ¸˜ DEFINICAO DE CATEGORIA 13 Observa¸˜o: Pela defini¸ao de categoria, todo objeto ca c˜ b ∈ ObC deve possuir uma identidade idb : b → b, e esta identidade ´ unica pois se existisse uma idb = idb ent˜o, e´ a pela lei da identidade, idb = idb ◦ idb = idb .
  14. 14. 2 ¸˜ DEFINICAO DE CATEGORIA 14 • Um morfismo em que coincidem origem e destino ´ e chamado de endomorfismo; • Uma categoria C ´ pequena se ObC e MorC s˜o e a conjuntos. Caso contr´rio a categoria ´ dita grande. a e
  15. 15. 3 DIAGRAMAS 15 3 Diagramas • Diagramas s˜o usados para representar equa¸˜es; a co • Permitem inferir novas equa¸oes a partir de outras j´ c˜ a conhecidas.
  16. 16. 3 DIAGRAMAS 16 f a Gb Onde: a, b – objetos; f : a → b – morfismo.
  17. 17. 3 DIAGRAMAS 17 Exemplo: Sejam os morfismos f : a → b, g : a → c e h : c → b, ent˜o seu diagrama ´: a e f ab Gb bb y bb g bb h b 1 c
  18. 18. 3 DIAGRAMAS 18 Representando a identidade: ida Ô f a Gb ou f a Gb ÐÐd ÐÐ ida ÐÐ f ÐÐ a
  19. 19. 3 DIAGRAMAS 19 Um diagrama comuta se a composi¸˜o dos morfismos ao ca longo de qualquer caminho entre dois objetos fixos ´ e igual.
  20. 20. 3 DIAGRAMAS 20 Lei associativa: h Gb a ÑÑÑ ÑÑÑg ÐÑÑ c Gd f f : c → d g : b → c h : a → b (f ◦ g) ◦ h = f ◦ (g ◦ h) Lei da identidade: f b bb Ga bb bb bb g bb a id bb f bb bb 0 1 a Gc g f : b → a g : a → c ida ◦ f = f g ◦ ida = g
  21. 21. 4 EXEMPLOS DE CATEGORIAS 21 4 Exemplos de Categorias Categoria Objetos Morfismos Set conjuntos fun¸˜es (totais) co Top espa¸os topol´gicos c o fun¸˜es cont´ co ınuas Vect espa¸os vetoriais c tranforma¸˜es co lineares Grp grupos homomorfismos de grupos PO conjuntos parcialmente fun¸˜es co ordenados monotˆnicas o
  22. 22. 4 EXEMPLOS DE CATEGORIAS 22 Sobre Set: • Para comprovar que Set ´ uma categoria basta e verificar a associatividade de fun¸oes e a identidade; c˜ • Dados f : A → B, g : B → C e h : C → D, e para qualquer a ∈ A: ((h ◦ g) ◦ f )(a) = (h ◦ g)(f (a)) = = h(g(f (a))) = h(g ◦ f (a)) = (h ◦ (g ◦ f ))(a) • Para qualquer f : A → B e para qualquer a ∈ A: (f ◦ idA )(a) = f (idA (a)) = f (a) = b = idB (b) = = idB (f (a)) = (idB ◦ f )(a)
  23. 23. 4 EXEMPLOS DE CATEGORIAS 23 Definindo Top: • Uma topologia em um conjunto A ´ uma cole¸ao e c˜ β = {Aλ ⊆ A|λ ∈ L} de partes de A, chamados abertos da topologia, tal que: 1. ∅, A ∈ β; 2. Se Aλ1 , . . . , Aλn ∈ β ent˜o ∩n Aλi ∈ β; a i=1 3. Se {Aλ }λ∈V , com Aλ ∈ β para cada λ ∈ V e V ⊆ L, ent˜o ∪λ∈V Aλ ∈ β; a
  24. 24. 4 EXEMPLOS DE CATEGORIAS 24 • Um conjunto A com uma topologia β ´ um espa¸o e c topol´gico; o • Uma fun¸ao f : A → B ´ cont´nua em a ∈ A se para c˜ e ı todo aberto V de B tal que f (a) ∈ V existe um aberto U de A tal que a ∈ U e f (U ) ⊆ V ; • Se f : A → B ´ cont´ e ınua para todo a ∈ A ent˜o a dizemos que f ´ cont´nua; e ı • Observe-se que a composi¸˜o de fun¸˜es cont´ ca co ınuas ´ e uma fun¸ao cont´ c˜ ınua.
  25. 25. 4 EXEMPLOS DE CATEGORIAS 25 Definindo Vect: • Um espa¸o vetorial E ´ um conjunto, cujos elementos c e s˜o chamados vetores, no qual est˜o definidas duas a a opera¸˜es: co adi¸˜o u + v ∈ E para cada u, v ∈ E; ca multiplica¸˜o por escalar α.v, para cada α ∈ R e ca v ∈ E; • Estas opera¸oes devem satisfazer as propriedades de c˜ comutatividade, associatividade, existˆncia do vetor e nulo, existˆncia do inverso aditivo, e distributividade; e
  26. 26. 4 EXEMPLOS DE CATEGORIAS 26 • Dados dois espa¸os vetoriais E e F, uma c transforma¸˜o linear A : E → F ´ uma ca e correspondˆncia que associa a cada vetor v ∈ E um e vetor A(v) ∈ F de modo que vale, para quaisquer u, v ∈ E e α ∈ R: 1. A(u + v) = A(u) + A(v); 2. A(α.v) = α.A(v); • Observe-se que a composi¸˜o de transforma¸˜es ca co lineares ´ associativa. e
  27. 27. 4 EXEMPLOS DE CATEGORIAS 27 Definindo Grp: • Um conjunto G com uma opera¸˜o ⊕ : G × G → G ´ ca e um grupo se: 1. a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c, para todo a, b, c ∈ G; 2. Existe e ∈ G, chamado neutro, tal que a ⊕ e = e ⊕ a = a, para todo a ∈ G; 3. Para todo a ∈ G existe a−1 ∈ G tal que a ⊕ a−1 = a−1 ⊕ a = e; • Exemplo: (Z, +) ´ um grupo; e
  28. 28. 4 EXEMPLOS DE CATEGORIAS 28 • Uma fun¸˜o φ : G1 → G2 , onde G1 e G2 s˜o grupos, ´ ca a e um homomorfismo de grupos se: 1. φ(eG1 ) = eG2 , onde eG1 ´ o neutro de G1 e eG2 ´ o e e neutro de G2 ; 2. φ(a ⊕G1 b) = φ(a) ⊕G2 φ(b), para todo a, b ∈ G1 ; • Observe-se que a composi¸˜o de homomorfismos de ca grupos ´ associativa. e
  29. 29. 4 EXEMPLOS DE CATEGORIAS 29 Definindo PO: • Um conjunto parcialmente ordenado ´ um par (A, ), e onde A ´ um conjunto e ´ uma ordem parcial sobre e e o conjunto A; • Uma fun¸ao f ´ monotˆnica se ela preserva a ordem, c˜ e o ou seja, x1 x2 ⇒ f (x1 ) f (x2 ); • Sabe-se que a composi¸ao de duas fun¸˜es c˜ co monotˆnicas ´ uma fun¸˜o monotˆnica. o e ca o
  30. 30. 4 EXEMPLOS DE CATEGORIAS 30 Observa¸˜es e mais exemplos: co • A no¸ao de “categoria” considera objetos como c˜ cole¸˜es de conjuntos estruturados e morfismos como co as suas fun¸oes associadas; c˜ • N˜o devemos restringir nossas defini¸oes pois os a c˜ morfismos n˜o necessariamente s˜o “fun¸˜es”, um a a co exemplo ´ a categoria Rel que possui conjuntos como e objetos e rela¸˜es como morfismos; co
  31. 31. 4 EXEMPLOS DE CATEGORIAS 31 • Em Teoria das Categorias n˜o consideramos a a estrutura interna dos objetos, apenas as rela¸oes c˜ estabelecidas entre eles pelos seus morfismos; • Categoria Amor:
  32. 32. 4 EXEMPLOS DE CATEGORIAS 32 • A menor categoria poss´ ´ a categoria 1 que possui ıvel e apenas um objeto e uma seta (a identidade do objeto); • Uma categoria ´ chamada discreta se cada seta ´ a e e identidade de algum objeto; • Esta categoria seria totalmente determinada pela cole¸˜o de seus objetos; ca • Um exemplo de categoria discreta ´ a categoria 1; e
  33. 33. 4 EXEMPLOS DE CATEGORIAS 33 • Uma categoria ´ chamada de pr´-ordem se, para cada e e par de objetos a e b, existe no m´ximo um morfismo a f : a → b; • Uma pr´-ordem ´ totalmente determinada pela e e rela¸˜o de pr´-ordem entre seus objetos; ca e • Em uma pr´-ordem, toda seta f : a → b pode ser e identificada pelo par (a, b); • Assim, toda a informa¸ao sobre a categoria C, que ´ c˜ e uma pr´-ordem, ´ dada pela rela¸˜o e e ca RC = {(a, b)|∃f ∈ C[a, b]};
  34. 34. 4 EXEMPLOS DE CATEGORIAS 34 • Toda categoria discreta ´ uma pr´-ordem; e e • A menor categoria n˜o-discreta que ´ uma pr´-ordem a e e ´ a categoria 2, que possui dois objetos (chamaremos e de 0 e 1) e trˆs setas: as duas identidades e a seta e (0, 1) : 0 → 1; id0 id1 Ö Ö 0 G1 (0,1)
  35. 35. 4 EXEMPLOS DE CATEGORIAS 35 • Um monoide ´ um conjunto tendo uma opera¸ao e c˜ bin´ria associativa e um elemento neutro: a (A, ⊕, e) Onde: A – conjunto suporte; ⊕ : A × A → A – opera¸˜o bin´ria; ca a e – elemento neutro, tal que a ⊕ e = e ⊕ a = a, ∀a ∈ A;
  36. 36. 4 EXEMPLOS DE CATEGORIAS 36 • Podemos interpretar um monoide como uma categoria que possui apenas um objeto, e a composi¸˜o de morfismos seria a opera¸ao bin´ria; ca c˜ a • Exemplo: (N, +, 0), e o elemento neutro ´ o 0 e (identidade): 1 2 0 5 Ò 3 ∗ p™ € ... 4 5
  37. 37. 4 EXEMPLOS DE CATEGORIAS 37 • Sistemas dedutivos podem ser interpretados como categorias; • O morfismo f : a → b corresponde ` prova a a b; • Observe-se que a categoria ´ obtida na presen¸a da e c identidade ida : a → a, correspondente a prova trivial a a, e da composi¸ao associativa de provas: c˜ f :a→b g:b→c . g◦f :a→c
  38. 38. 4 EXEMPLOS DE CATEGORIAS 38 • Um grafo ´ uma qu´drupla G = (V, T, δ0 , δ1 ), tal que: e a V um conjunto de nodos ou v´rtices; e T um conjunto de arcos ou arestas; δ0 , δ1 : T → V fun¸˜es totais denominadas origem e co destino; • Categoria Gr: Possui como objetos todos os grafos e como morfismos os homomorfismos de grafos;
  39. 39. 4 EXEMPLOS DE CATEGORIAS 39 • Sejam G1 = (V1 , T1 , δ01 , δ11 ) e G2 = (V2 , T2 , δ02 , δ12 ). Um homomorfismo de grafos: h : G1 → G2 ´ um par de fun¸oes: e c˜ h = (hV , hT ) onde: hV : V1 → V2 e hT : T1 → T2 s˜o tais que: a δ02 ◦ hT = hV ◦ δ01 e δ12 ◦ hT = hV ◦ δ11 .
  40. 40. 4 EXEMPLOS DE CATEGORIAS 40 Exemplo: G 1 A G hV 2 r a hT 1 3 B c b s t 2 d C e
  41. 41. 5 SUBCATEGORIA 41 5 Subcategoria Uma categoria D ´ uma subcategoria de uma categoria C e se: 1. ObD ⊆ ObC ; 2. Para todo a e b em ObD , D[a, b] ⊆ C[a, b]; 3. Composi¸oes e identidades em D coincidem com as c˜ de C.
  42. 42. 5 SUBCATEGORIA 42 Uma subcategoria ´ completa se, para todo a e b em e ObD , D[a, b] = C[a, b]. Uma subcategoria completa ´ e totalmente determinada pela cole¸ao de seus objetos. c˜
  43. 43. 6 CATEGORIA DUAL 43 6 Categoria Dual A categoria dual C op da categoria C tem os mesmos objetos e os mesmos morfismos de C, idop = idb , b domop (f ) = cod(f ), codop (f ) = dom(f ), e f ◦op g = g ◦ f .
  44. 44. 6 CATEGORIA DUAL 44 Observa¸˜es: co • C op [b, a] = C[a, b] e (C op )op = C; • Se P ´ uma proposi¸ao que ´ verdadeira na categoria e c˜ e C, ent˜o P op ´ verdadeira em C op ; a e • Se P ´ uma proposi¸ao verdadeira para qualquer e c˜ categoria, ent˜o P op tamb´m ´ verdadeira para a e e qualquer categoria, pois toda categoria ´ dual de sua e dual.
  45. 45. 6 CATEGORIA DUAL 45 Com rela¸ao ao diagrama da categoria dual: c˜ • Para obter o diagrama da dual basta inverter as setas; • O diagrama da dual comuta se e somente se o diagrama original comuta.
  46. 46. 7 CATEGORIA PRODUTO 46 7 Categoria Produto Dadas duas categorias C e D, a categoria produto C × D tem por objetos os pares (a, b), onde a e b s˜o os objetos a das categorias C e D respectivamente, e por morfismos os pares (f, g) : (a, b) → (a , b ), onde f : a → a e g : b → b s˜o morfismos de C e D respectivamente. Finalmente, a id(a,b) = (ida , idb ) e (f, g) ◦ (f , g ) = (f ◦ f , g ◦ g ).
  47. 47. 8 CATEGORIAS C ↓ A E C ↑ A 47 8 Categorias C ↓ a e C ↑ a Dada uma categoria C e um objeto a ∈ ObC , a categoria C ↓ a de objetos sobre a (tamb´m conhecida como e categoria fatia, “slice category”) ´ definida como: e 1. ObC↓a = {f ∈ MorC |cod(f ) = a}; 2. Dados dois objetos f : b → a e g : c → a, um morfismo com origem f e destino g ´ uma seta e h ∈ C[b, c] tal que g ◦ h = f ; 3. Identidades e composi¸ao de C ↓ a s˜o herdadas de C. c˜ a
  48. 48. 8 CATEGORIAS C ↓ A E C ↑ A 48 Em C: b bb bb f bb bb 1 h a c    g c Em C ↓ a: h G [g : c → a] [f : b → a]
  49. 49. 8 CATEGORIAS C ↓ A E C ↑ A 49 Em C: b bb bb f bb bb 0 idb a ÐÐd ÐÐÐ ÐÐÐ f b Em C ↓ a: idb Ù [f : b → a]
  50. 50. 8 CATEGORIAS C ↓ A E C ↑ A 50 • Considere Set ↓ A; • Podemos pensar um objeto g : B → A desta categoria como sendo uma fam´ de conjuntos ılia disjuntos indexados por A, {g −1 (a)}a∈A ; • h : B → B ´ um morfismo de g : B → A para e g : B → A se e somente se ∀b b ∈ g −1 (a) ⇒ h(b) ∈ g −1 (a);
  51. 51. 8 CATEGORIAS C ↓ A E C ↑ A 51 Podemos definir tamb´m uma categoria C ↑ a, cujos e objetos s˜o os morfismos de C que tem como origem a. a
  52. 52. 9 MONOMORFISMO, EPIMORFISMO E ISOMORFISMO 52 9 Monomorfismo, Epimorfismo e Isomorfismo • Uma fun¸ao f : A → B ´ injetiva quando, para todo c˜ e a, a ∈ A, se f (a) = f (a ) ent˜o a = a ; a • Conclui-se que, para f injetiva, dadas duas fun¸oes c˜ g : C → A e h : C → A, se para todo c ∈ C f (g(c)) = f (h(c)) ent˜o para todo c ∈ C g(c) = h(c), a ou seja, f ◦ g = f ◦ h implica g = h; • O inverso tamb´m ´ verdade, ou seja, se f ◦ g = f ◦ h e e implica g = h ent˜o f ´ injetiva; a e
  53. 53. 9 MONOMORFISMO, EPIMORFISMO E ISOMORFISMO 53 • Suponha o contr´rio, ent˜o existem a e a tal que a a f (a) = f (a ) mas a = a ; • Definimos g tal que g(c) = a para todo c ∈ C e h tal que h(c) = a para todo c ∈ C; • Ent˜o, f ◦ g = f ◦ h mas g = h, o que ´ uma a e contradi¸ao; c˜
  54. 54. 9 MONOMORFISMO, EPIMORFISMO E ISOMORFISMO 54 • f ◦ g = f ◦ h implica g = h se e somente se f ´e injetiva (como se a aplica¸˜o de f se cancelasse a ca esquerda); • De forma similar, g ◦ f = h ◦ f implica g = h se e somente se f ´ sobrejetiva (como se a aplica¸ao de f e c˜ se cancelasse a direita).
  55. 55. 9 MONOMORFISMO, EPIMORFISMO E ISOMORFISMO 55 Sejam uma categoria C e a, b ∈ ObC . Ent˜o: a 1. Uma seta h ∈ C[a, b] ´ um monomorfismo (ou ´ e e mono) se e somente se h ◦ g = h ◦ f ⇒ g = f ; 2. Uma seta h ∈ C[a, b] ´ um epimorfismo (ou ´ epi ) se e e e somente se g ◦ h = f ◦ h ⇒ g = f ; 3. Uma seta h ∈ C[a, b] ´ um isomorfismo (ou ´ iso) se e e e somente se existe g ∈ C[b, a] tal que g ◦ h = id e h ◦ g = id.
  56. 56. 9 MONOMORFISMO, EPIMORFISMO E ISOMORFISMO 56 h◦g=h◦f g ' G h G b ent˜o g = f ; Mono c Ga a f g◦h=f ◦h g 'G h Gb Epi a G c ent˜o g = f ; a f id id Ó h G Ó Iso a o b e g ◦ h = id e h ◦ g = id. g
  57. 57. 9 MONOMORFISMO, EPIMORFISMO E ISOMORFISMO 57 Observa¸˜es: co • Se uma seta h ´ iso, ent˜o tamb´m ´ epi e mono, e a e e embora o contr´rio n˜o seja necessariamente a a verdadeiro: Se h ´ iso, ent˜o existe f tal que f ◦ h = id. Logo, e a h◦g =h◦g ⇒f ◦h◦g =f ◦h◦g ⇒g =g. O argumento ´ similar para epi. e • Embora seja util em Set pensar mono e epi como ´ sendo inje¸ao e sobreje¸ao respectivamente, isto pode c˜ c˜ conduzir a confus˜o em outras categorias; a
  58. 58. 9 MONOMORFISMO, EPIMORFISMO E ISOMORFISMO 58 • Um mono h ∈ C[a, b] cinde (“split”) se existe um g ∈ C[b, a] tal que g ◦ h = ida ; • Um epi h ∈ C[a, b] cinde (“split”) se existe um g ∈ C[b, a] tal que h ◦ g = idb .
  59. 59. 10 ´ OBJETOS ISOMORFICOS 59 10 Objetos Isom´rficos o • Dois objetos a e b s˜o isom´rficos (a ∼ b) se existe a o = um isomorfismo h ∈ C[a, b]; • Isomorfismo estabelece, em certo grau de abstra¸ao, c˜ uma rela¸˜o de “semelhan¸a” ou “equivalˆncia” entre ca c e objetos.
  60. 60. 11 MORFISMO PRINCIPAL 60 11 Morfismo Principal Seja C uma categoria e a, b ∈ ObC . Ent˜o: a 1. Uma seta h ∈ C[a, b] ´ um morfismo principal se e e somente se ∀f ∈ C[a, b] ∃g ∈ C[a, a] f = h ◦ g; 2. Um par de setas f ∈ C[a, b] e g ∈ C[b, a] ´ um par de e retra¸˜o se e somente se g ◦ f = id. Ent˜o a ´ ca a e chamado de retra¸˜o de b (a b) via o par de ca retra¸˜o (f, g). ca
  61. 61. 11 MORFISMO PRINCIPAL 61 Observa¸˜es: co • h ´ principal se e somente se para todo f existe um g e tal que: h Gb a y d ÐÐÐ g ÐÐÐf ÐÐ a • f e g s˜o um par de retra¸˜o (a b) se: a ca f g a Gb Ga e g ◦ f = id.
  62. 62. 11 MORFISMO PRINCIPAL 62 Teorema 1 Sejam C uma categoria e a, b ∈ ObC . Ent˜o: a 1. Se a b via (i, h), ent˜o h ´ epi e principal, e i ´ a e e mono; 2. Se h ∈ C[a, b] ´ principal e existe um epi k ∈ C[a, b], e ent˜o h ´ epi; a e 3. Se a b e f ∈ C[b, a] ´ principal, ent˜o existe e a g ∈ C[a, b] tal que a b via (g, f ).
  63. 63. 11 MORFISMO PRINCIPAL 63 Prova: 1. Se a b via (i, h), ent˜o h ´ epi e principal, e i ´ a e e mono; • g ◦ h = f ◦ h ⇒ g ◦ h ◦ i = f ◦ h ◦ i ⇒ g = f para h ◦ i = id; • Prova que h ´ principal: ∀f ∃g f = h ◦ g. Tome e g = i ◦ f , ent˜o h ◦ g = h ◦ i ◦ f = f . Segundo o a diagrama: a i Gb y f h b Ga f • i ◦ g = i ◦ f ⇒ h ◦ i ◦ g = h ◦ i ◦ f ⇒ g = f;
  64. 64. 11 MORFISMO PRINCIPAL 64 2. Se h ∈ C[a, b] ´ principal e existe um epi k ∈ C[a, b], e ent˜o h ´ epi; a e g◦h=f ◦h⇒g◦h◦g =f ◦h◦g ⇒g◦k = f ◦ k ⇒ g = f (para um g apropriado); h Gb a y ÐÐd g ÐÐÐ ÐÐÐ k a
  65. 65. 11 MORFISMO PRINCIPAL 65 3. Se a b e f ∈ C[b, a] ´ principal, ent˜o existe e a g ∈ C[a, b] tal que a b via (g, f ); Seja a b via (i, j). Como f ´ principal ent˜o e a ∃s ∈ C[b, b] j = f ◦ s. Assim, para g = s ◦ i temos f ◦ g = j ◦ i = ida . Em diagrama: i j aa Gb Ga aa d aa ÑÑÑ g aa s ÑÑÑ a0 ÑÑ f b
  66. 66. 12 CATEGORIA DOS IDEMPOTENTES 66 12 Categoria dos Idempotentes Se f : a → b e g : b → a s˜o um par de retra¸˜o, ent˜o a a ca a fun¸ao h = f ◦ g : b → b ´ idempotente, isto ´, h ◦ h = h, c˜ e e pois h ◦ h = (f ◦ g) ◦ (f ◦ g) = f ◦ (g ◦ f ) ◦ g = f ◦ g = h (pela associatividade da composi¸˜o). ca
  67. 67. 12 CATEGORIA DOS IDEMPOTENTES 67 Dada uma categoria C e um objeto b ∈ ObC , a categoria dos idempotentes sobre b (Retb ) ´ definida como: e ObRetb = {f ∈ C[b, b]|f ◦ f = f } MorRetb = {(f, k, g)|f, g ∈ ObRetb , k ∈ C[b, b], k = g ◦ k ◦ f} dom((f, k, g)) = f cod((f, k, g)) = g idf = (f, f, f ) (f, k, g) ◦ (g , k , f ) = (g , k ◦ k , g)
  68. 68. 12 CATEGORIA DOS IDEMPOTENTES 68 identidade (f, k, g) ◦ (f, f, f ) = (f, k ◦ f, g). Sabemos que f e g s˜o idempotentes e k = g ◦ k ◦ f : a k◦f =g◦k◦f ◦f =g◦k◦f =k Similar para (f, f, f ) ◦ (g, k, f ); associatividade da composi¸˜o ca ((f1 , f2 , f3 ) ◦ (g1 , g2 , f1 )) ◦ (h1 , h2 , g1 ) = (g1 , f2 ◦ g2 , f3 ) ◦ (h1 , h2 , g1 ) = (h1 , (f2 ◦ g2 ) ◦ h2 , f3 ) = (h1 , f2 ◦ (g2 ◦ h2 ), f3 ) e (f1 , f2 , f3 ) ◦ ((g1 , g2 , f1 ) ◦ (h1 , h2 , g1 )) = (f1 , f2 , f3 ) ◦ (h1 , g2 ◦ h2 , f1 ) = (h1 , f2 ◦ (g2 ◦ h2 ), f3 ).
  69. 69. 13 SUB-OBJETO 69 13 Sub-objeto • Sub-objeto ´ a vers˜o categorial de subconjunto da e a teoria dos conjuntos; • Baseia-se na id´ia de definir um subconjunto A ⊆ B e como um monomorfismo f : D → B (intuitivamente “f (D) = A”);
  70. 70. 13 SUB-OBJETO 70 • Se existem muitas setas mono definindo o mesmo subconjunto, ´ necess´rio introduzir uma classe de e a equivalˆncia e definir sub-objetos usando-a; e • Seja C uma categoria. Se f : b → a e g : c → a s˜o a duas setas mono com destino comum a, ent˜o a dizemos que f ≤ g se e somente se existe h : b → c tal que g ◦ h = f ; • Note que o unico h ´ mono tamb´m, pois ´ e e h◦k =h◦k ⇒g◦h◦k =g◦h◦k ⇒f ◦k = f ◦k ⇒k =k;
  71. 71. 13 SUB-OBJETO 71 • Se f ≤ g e g ≤ f ent˜o dizemos que f ∼ g, e ∼ ´ a = =e uma rela¸ao de equivalˆncia entre monomorfismos c˜ e com destino comum; • As classes de equivalˆncia determinadas por esta e rela¸˜o de equivalˆncia s˜o os sub-objetos de a; ca e a • Nota¸˜o: [f ]. ca
  72. 72. 14 OBJETOS INICIAL E TERMINAL 72 14 Objetos Inicial e Terminal Seja C uma categoria. Um objeto 0 ´ inicial se e somente e se para qualquer b ∈ ObC existe um unico f ∈ C[0, b]. ´
  73. 73. 14 OBJETOS INICIAL E TERMINAL 73 Observa¸˜es: co • O t´ ıpico exemplo de objeto inicial ´ ∅ (conjunto e vazio) em Set, pois a fun¸ao vazia (ou seja, a fun¸˜o c˜ ca cujo grafo ´ vazio) ´ a unica seta com origem em ∅; e e ´ • Deve-se observar que a fun¸˜o vazia, tendo como ca dom´ ınio ∅, ´ total (como Set exige) por vacuidade; e • Inicialidade ´ a mais simples no¸ao universal em e c˜ Teoria das Categorias, j´ que ´ dada pela existˆncia e a e e unicidade de morfismos satisfazendo certas propriedades; • Universalidade ´ um conceito fundamental em Teoria e das Categorias.
  74. 74. 14 OBJETOS INICIAL E TERMINAL 74 Teorema 2 Se 0 e 0 s˜o dois objetos iniciais da a categoria C, ent˜o eles s˜o isom´rficos (em outras a a o palavras: o objeto inicial ´ unico a n˜o ser por e´ a isomorfismos). Prova: Sejam i : 0 → 0 e j : 0 → 0 dois morfismos dados pela inicialidade de 0 e 0 . Ent˜o, j ◦ i : 0 → 0, a mas tamb´m id0 : 0 → 0. Pela inicialidade de 0 s´ pode e o existir um morfismo em C[0, 0], ent˜o j ◦ i = id0 . Da a mesma forma, pela inicialidade de 0 , i ◦ j = id0 .
  75. 75. 14 OBJETOS INICIAL E TERMINAL 75 • Podemos usar dualidade para definir um novo conceito e provar novas propriedades; • Seja P (c) a propriedade “para qualquer b ∈ ObC existe um unico f tal que dom(f ) = c e cod(f ) = b”; ´ • Pela defini¸˜o, c ´ inicial se e somente se P (c) vale; ca e • O enunciado dual de P (c), P op (c), ´ “para qualquer e b ∈ ObC existe um unico f tal que dom(f ) = b e ´ cod(f ) = c”;
  76. 76. 14 OBJETOS INICIAL E TERMINAL 76 • Conceitos duais s˜o usualmente chamados usando-se a o prefixo “co-”; • Assim, P op (c) define co-inicialidade, e o objeto que a satisfaz ´ o objeto co-inicial (tamb´m conhecido e e como terminal ); • Nota¸˜o: 1 ou t e o morfismo unico que tem como ca ´ origem um objeto a e como destino t ´ denotado por e !a : a → t.
  77. 77. 14 OBJETOS INICIAL E TERMINAL 77 Observa¸˜es: co • Qualquer conjunto unit´rio {∗} (que possui apenas a um elemento) ´ terminal em Set; e • Na categoria 2 um elemento ´ inicial e o outro ´ e e terminal; • Se c ´ inicial em C ent˜o ´ terminal em C op e e a e vice-versa.
  78. 78. 14 OBJETOS INICIAL E TERMINAL 78 Teorema 3 Se 1 e 1 s˜o dois objetos terminais na a categoria C, ent˜o eles s˜o isom´rficos. a a o Prova: Pela dualidade e pelo Teorema 2.
  79. 79. 14 OBJETOS INICIAL E TERMINAL 79 Observa¸˜es: co • Um objeto pode ser inicial e terminal ao mesmo tempo, neste caso ´ chamado de objeto zero; e • Em Set, um morfismo do conjunto unit´rio para um a conjunto A define os elementos de A; • Em uma categoria C qualquer, uma seta de um objeto terminal t para um objeto a ´ usualmente e chamada de elemento ou ponto de a;
  80. 80. 14 OBJETOS INICIAL E TERMINAL 80 • Seja C uma categoria. t ∈ ObC ´ um gerador se e e somente se para todos a, b ∈ ObC e todos f, g ∈ C[a, b], temos f = g ⇒ ∃h ∈ C[t, a] f ◦ h = g ◦ h; • C tem suficientes pontos (ou ´ bem pontuada), se e existe um gerador t que ´ terminal na categoria dada; e • Ou seja, a categoria tem suficientes pontos quando as setas com origem no objeto terminal permitem discriminar entre morfismos, de forma similar que para os elementos de Set.
  81. 81. 15 PRODUTO E COPRODUTO CATEGORIAL 81 15 Produto e Coproduto Categorial • O produto categorial ´ uma generaliza¸ao estrutural e c˜ da no¸ao de produto cartesiano; c˜ • Dados dois conjuntos A e B, seu produto cartesiano ´: e A × B = {(x, y)|x ∈ A, y ∈ B}
  82. 82. 15 PRODUTO E COPRODUTO CATEGORIAL 82 • Associado com este conjunto existem dois mapeamentos especiais pA : A × B → A e pB : A × B → B, chamados proje¸˜es, tal que para co todo (x, y) ∈ A × B, pA ((x, y)) = x e pB ((x, y)) = y; • Sejam f : C → A e g : C → B, ent˜o a f, g : C → A × B, e f, g (c) = f (c), g(c) para todo c ∈ C; • Seja c ∈ ObC . Definimos a opera¸ao c˜ , c : C[c, a] × C[c, b] → C[c, a × b] como acima descrito.
  83. 83. 15 PRODUTO E COPRODUTO CATEGORIAL 83 Sejam C uma categoria e a, b ∈ ObC . O produto categorial de a e b ´ um objeto a × b junto com dois morfismos e pa : a × b → a e pb : a × b → b tal que, dado um c ∈ ObC , para qualquer f ∈ C[c, a] e g ∈ C[c, b], existe exatamente um h ∈ C[c, a × b] tal que o seguinte diagrama ´ e comutativo: c y ii y ii g f yy ii yy h ii |oyyy i4 a pa a × b pb G b Observa¸˜o: c ´ chamado de pr´-produto. ca e e
  84. 84. 15 PRODUTO E COPRODUTO CATEGORIAL 84 Exemplos: Em Set, sejam A = {1, 2}, B = {a, b} e C = {x, y}. Ent˜o A × B = {(1, a), (2, a), (1, b), (2, b)} e h a ´ o unico morfismo que faz o seguinte diagrama comutar: e ´ w C qqq f www qqg w h qq ww qq {ww 5 A pA A × B pB G B o
  85. 85. 15 PRODUTO E COPRODUTO CATEGORIAL 85 Definimos f , g e h de acordo com a seguinte ilustra¸ao: c˜ C x y f g h 1 (1,a) a (2,a) 2 b (1,b) A p (2,b) p B A B AxB
  86. 86. 15 PRODUTO E COPRODUTO CATEGORIAL 86 Na categoria 2, id0 id1 Ö Ö 0 G1 (0,1) 0 × 1 = 1 × 0 = 0: z 0 iii id0 zzz i (0,1) zz id0 iii zz ii |z o 4G 0 id0 0 × 1 (0,1) 1
  87. 87. 15 PRODUTO E COPRODUTO CATEGORIAL 87 Em Set, ∅ × A = A × ∅ = ∅: z ∅ iii id∅ zzz ii f zz id∅ iii z ii | zz 4 ∅ oz ∅×A G A id∅ f
  88. 88. 15 PRODUTO E COPRODUTO CATEGORIAL 88 Teorema 4 Em uma categoria, o produto, se existir, ´ e unico a n˜o ser por isomorfismos. ´ a Prova: Seja a ⊗ b um produto alternativo com proje¸˜esco qa e qb , ent˜o qa , qb ◦ pa , pb ´ o morfismo unico a e ´ que faz o seguinte diagrama comutar: a×b g zz g p pa zp ,p ggg b z a b zz gg z gg }zz qa o a —hh a⊗b qb Ga3 b { hh hh q ,q {{ {{ pa h h a b {{{ pb h { a×b Logo, qa , qb ◦ pa , pb = ida×b e, por simetria, pa , pb ◦ qa , qb = ida⊗b .
  89. 89. 15 PRODUTO E COPRODUTO CATEGORIAL 89 Morfismo produto: Sejam f : a → c e g : b → d. pa pb ao a×b Gb f f ×g g co pc c×d pd Gd Observa¸˜es: co • f × g ´ unico j´ que a × b ´ um pr´-produto de c × d; e´ a e e • Dizemos que f × g ´ univocamente induzido por f e e g; • Exemplo em Set: Definimos (f × g)((x, y)) = (f (x), g(y)) tal que x ∈ A e y ∈ B.
  90. 90. 15 PRODUTO E COPRODUTO CATEGORIAL 90 • Uma categoria C ´ cartesiana (C ´ CC) se e somente e e se: 1. Cont´m um objeto terminal t; e 2. Todo par a, b ∈ ObC tem um produto categorial (a × b, pa,b,1 : a × b → a, pa,b,2 : a × b → b); • Exemplos: Set, Top e Grp; • Uma categoria cartesiana interessante em teoria da computabilidade ´ a categoria EN dos conjuntos e enumer´veis; a
  91. 91. 15 PRODUTO E COPRODUTO CATEGORIAL 91 • Objetos de EN s˜o pares a = (a, ea ), onde a ´ um a e conjunto cont´vel e ea : N → a ´ um mapeamento a e dos elementos de a (uma enumera¸˜o de a); ca • f ∈ EN[a, b] se e somente se, para alguma fun¸ao c˜ (total) recursiva f , o seguinte diagrama comuta: f N GN ea eb a Gb f • Dizemos que f representa f ;
  92. 92. 15 PRODUTO E COPRODUTO CATEGORIAL 92 • O produto pode ser facilmente obtido por qualquer bije¸˜o efetiva [, ] : N × N → N; ca • Um conjunto enumer´vel de interesse ´ a e PR = (PR, φ), das fun¸˜es parciais recursivas com co n´meros de G¨del φ : N → PR, e EN[PR, PR] s˜o u o a exatamente os funcionais recursivos de segunda ordem.
  93. 93. 15 PRODUTO E COPRODUTO CATEGORIAL 93 Sejam C uma categoria e a, b ∈ ObC . O coproduto de a e b ´ um objeto a + b junto com dois morfismos e qa : a → a + b e qb : b → a + b tal que, dado um c ∈ ObC , para qualquer f ∈ C[a, b] e g ∈ C[b, c], existe exatamente um h ∈ C[a + b, c] tal que o seguinte diagrama comuta: c y` y ˜iii f yyy iig y ii yy h ii yy G o a qa a+b qb b
  94. 94. 15 PRODUTO E COPRODUTO CATEGORIAL 94 Observa¸˜es: co • O coproduto ´ o conceito dual do produto; e • No coproduto a + b, os morfismos qa e qb s˜o a chamados de inclus˜es ; o • Por dualidade, o coproduto ´ unico (a n˜o ser por e´ a isomorfismos); • Em Set o coproduto ´ a uni˜o disjunta. e a
  95. 95. 16 ´ CALCULO LAMBDA 95 16 C´lculo Lambda a • Simplifica e flexibiliza a representa¸ao de fun¸oes; c˜ c˜ • Facilita as opera¸oes de currying e uncurrying. c˜
  96. 96. 16 ´ CALCULO LAMBDA 96 Express˜o-λ (ou termo-λ): a 1. Uma vari´vel ´ uma express˜o-λ; a e a 2. Se M ´ uma express˜o-λ e x ´ uma vari´vel, ent˜o e a e a a λxM ´ uma express˜o-lambda, interpretada como e a “uma fun¸ao com argumento x”; c˜ 3. Se F e A s˜o express˜es-λ, ent˜o (F A) ´ uma a o a e express˜o-λ, interpretada como “F aplicado ao a argumento A”; 4. Nada mais ´ express˜o-λ. e a
  97. 97. 16 ´ CALCULO LAMBDA 97 Exemplos: M 1. λx x ; F 2. ( λxx (yz)); A F A 3. (λx (xx) y ); M 4. (λxx λxx ); F A 5. λx λy(xy). M
  98. 98. 16 ´ CALCULO LAMBDA 98 Ocorrˆncia de vari´vel livre e limitada: e a • Se uma ocorrˆncia de uma vari´vel x est´ no escopo e a a de um λx, ent˜o sua ocorrˆncia ´ dita limitada, caso a e e contr´rio ´ dita livre; a e • Exemplo: (xλxλy(xy)) Primeira ocorrˆncia de x ´ livre, a segunda ´ e e e limitada.
  99. 99. 16 ´ CALCULO LAMBDA 99 Substitui¸˜o uniforme: ca • M [x ← A] denota a substitui¸ao uniforme de todas c˜ as ocorrˆncias livres de x por A; e • Exemplo: (xλxλy(xy))[x ← λzz] = (λzzλxλy(xy))
  100. 100. 16 ´ CALCULO LAMBDA 100 Abstra¸˜o-λ M ⇒ λxM ; ca Aplica¸˜o-λ (λxM A) ⇒ M [x ← A]. ca (λxM A) ⇒ M [x ← A] redex contractum
  101. 101. 16 ´ CALCULO LAMBDA 101 • Uma forma normal ´ uma express˜o-λ na qual n˜o se e a a pode efetuar uma aplica¸ao-λ; c˜ • Uma sequˆncia de aplica¸oes-λ at´ a obten¸˜o de e c˜ e ca uma forma normal ´ chamada de redu¸˜o. e ca
  102. 102. 16 ´ CALCULO LAMBDA 102 Exemplos de redu¸˜es: co 1. (λxxλxx) ⇒ λxx; 2. ((λxλy(xy)λxx)x) ⇒ (λy(λxxy)x) ⇒ (λxxx) ⇒ x; 3. (λx(xx)λx(xx)) ⇒ (λx(xx)λx(xx)) (irredut´ ıvel); 4. (λxyz) ⇒ y (jogar fora alguma coisa).
  103. 103. 16 ´ CALCULO LAMBDA 103 Currying: • Ocorre quando da aplica¸˜o de um termo-λ em que ca existem menos argumentos que vari´veis limitadas; a (λxλy(xy)z) ⇒ λy(zy) • Ou seja, f (x, y), fixando um x qualquer, resulta em uma fun¸ao de y. c˜
  104. 104. 16 ´ CALCULO LAMBDA 104 Representando aritm´tica: e if A then B else C T ≡ λxλyx ((T a)b) ≡ ((λxλyxa)b) ⇒ (λyab) ⇒ a F ≡ λxλyy ((F a)b) ≡ ((λxλyya)b) ⇒ (λyyb) ⇒ b Observa¸˜o: T e F s˜o abreviaturas. ca a
  105. 105. 16 ´ CALCULO LAMBDA 105 Podemos usar F e T como seletores de elementos de listas (if-then-else aninhados): • T ≡ λxλyx (primeiro elemento da lista); • F T ≡ λxλy(yλxλyx) ≡ λxλy(yT ) (segundo elemento da lista); • F 2 T ≡ λxλy(yλxλy(yλxλyx)) ≡ λxλy(yF T ) (terceiro elemento da lista); • F i+1 T ≡ λxλy(yF i T ) (o (i + 2)-´simo elemento). e
  106. 106. 16 ´ CALCULO LAMBDA 106 φ0 , φ1 , . . . , φn−1 • φ0 ≡ λx((xφ0 )ψ) (ψ ´ o terminador de lista); e • φ0 , φ1 ≡ λx((xφ0 )λx((xφ1 )ψ)) ≡ λx((xφ0 ) φ1 ); • φ0 , φ1 , . . . , φn−1 ≡ λx((xφ0 ) φ1 , . . . , φn−1 ).
  107. 107. 16 ´ CALCULO LAMBDA 107 Obtendo o primeiro elemento de uma lista: ( φ0 T ) ≡ (λx((xφ0 )ψ)λxλyx) ⇒ ((λxλyxφ0 )ψ) ⇒ ⇒ (λyφ0 ψ) ⇒ φ0
  108. 108. 16 ´ CALCULO LAMBDA 108 Obtendo o segundo elemento de uma lista: ( φ0 , φ 1 , φ 2 F T ) ≡ ≡ (λx((xφ0 )λx((xφ1 )λx((xφ2 )ψ))) λxλy(yλxλyx)) ⇒ ⇒ ((λxλy(yλxλyx) φ0 )λx((xφ1 )λx((xφ2 )ψ))) ⇒ ⇒ (λy(yλxλyx) λx((xφ1 )λx((xφ2 )ψ))) ⇒ ⇒ (λx((xφ1 )λx((xφ2 )ψ)) λxλyx) ⇒ ⇒ ((λxλyx φ1 )λx((xφ2 )ψ)) ⇒ ⇒ (λyφ1 λx((xφ2 )ψ)) ⇒ φ1
  109. 109. 16 ´ CALCULO LAMBDA 109 Representando n´meros: 0 ≡ T , 1 ≡ F T , 2 ≡ F F T , . . ., u i ≡ F iT .
  110. 110. 16 ´ CALCULO LAMBDA 110 suc ≡ λzλxλy(yz) (suc1) ≡ (λzλxλy(yz)λxλy(yλxλyx)) ⇒ λxλy(y λxλy(y λxλyx) ≡ F F T ≡ 2 T FT
  111. 111. 16 ´ CALCULO LAMBDA 111 Observa¸˜es: co • Esta defini¸ao conduz a possibilidade de definir c˜ soma, subtra¸ao, multiplica¸ao, etc. c˜ c˜ • Neste caso, podemos definir abreviaturas para +, −, ×, etc. • Assim, ocorre equivalˆncia entre o c´lculo-λ e a e a m´quina de Turing (fun¸˜es parciais recursivas). a co
  112. 112. 16 ´ CALCULO LAMBDA 112 C´lculo-λ tipado: a • Cada vari´vel tem um tipo associado e a constru¸ao a c˜ dos termos obedece a certas “regras de tipagem”; • Motiva¸ao: Paradoxo de Russel (teoria dos c˜ conjuntos) e tipos de linguagens de programa¸ao. c˜
  113. 113. 16 ´ CALCULO LAMBDA 113 Tipos e construtores de termos: Tipos atˆmicos A, B, C, . . .; o Tipos n˜o-atˆmicos a o • se α e β s˜o tipos, ent˜o α → β ´ um tipo a a e (funcional); • se α e β s˜o tipos, ent˜o α × β ´ um tipo a a e (produto cartesiano, record);
  114. 114. 16 ´ CALCULO LAMBDA 114 Termos • se x ´ vari´vel do tipo ψ, ent˜o x : ψ ´ um termo e a a e do tipo ψ; • se x ´ vari´vel do tipo ψ e t ´ termo do tipo φ, e a e ent˜o λxt : ψ → φ ´ um termo do tipo ψ → φ; a e • se t1 e t2 s˜o termos do tipo ψ → φ e ψ a respectivamente, ent˜o App(t1 , t2 ) : φ ´ um termo a e do tipo φ (aplica¸ao); c˜
  115. 115. 16 ´ CALCULO LAMBDA 115 • se t1 e t2 s˜o termos do tipo ψ e φ a respectivamente, ent˜o (t1 , t2 ) : ψ × φ ´ um a e termo do tipo ψ × φ (produto cartesiano); • se t : ψ × φ ´ um termo do tipo ψ × φ, ent˜o e a π1 (t) : ψ e π2 (t) : φ s˜o termos do tipo ψ e φ a respectivamente (proje¸oes). c˜
  116. 116. 16 ´ CALCULO LAMBDA 116 Redu¸oes no c´lculo-λ tipado: c˜ a π1 ((t1 , t2 )) : ψ ⇒ t1 : ψ π2 ((t1 , t2 )) : φ ⇒ t2 : φ App(λxt1 , t2 ) : φ ⇒ t1 [x ← t2 ] : φ
  117. 117. 16 ´ CALCULO LAMBDA 117 Observa¸˜es: co • O c´lculo-λ tipado corresponde `s fun¸oes (totais) a a c˜ recursivas, pois a introdu¸˜o dos tipos impede que a ca fun¸˜o fique indefinida (n˜o h´ loop infinito); ca a a • Ao representar o c´lculo-λ tipado em Teoria das a Categorias: – Tipos s˜o objetos de uma categoria C; a – Termos s˜o morfismos; a – Problema: como representar a aplica¸ao-λ? c˜ Resposta: objeto exponencial.
  118. 118. 17 OBJETO EXPONENCIAL 118 17 Objeto Exponencial • A conex˜o entre Teoria das Categorias e Teoria da a Computabilidade, como “teorias de fun¸oes”, exige c˜ interpretar fun¸˜es como morfismos, identificando co tipos como A × B → C e A → (B → C) (currying e uncurrying); • O produto n˜o ´ suficiente para isto; a e • Precisamos ent˜o representar fun¸˜es de mais alta a co ordem (funcionais), como “morfismos entre morfismos”, mas isto n˜o ´ poss´ a e ıvel;
  119. 119. 17 OBJETO EXPONENCIAL 119 Sejam C uma categoria cartesiana, e a, b ∈ ObC . O objeto exponencial de a e b ´ ba junto com o morfismo e evala,b : ba × a → b (mapeamento de avalia¸ao), e para c˜ cada objeto c uma opera¸ao Λc : C[c × a, b] → C[c, ba ] tal c˜ que, para todos os morfismosf : c × a → b e h : c → ba , as seguintes equa¸oes valem: c˜ 1. evala,b ◦ (Λc (f ) × ida ) = f ; 2. Λc (evala,b ◦ (h × ida )) = h.
  120. 120. 17 OBJETO EXPONENCIAL 120 Os conceitos centrais da defini¸ao s˜o: c˜ a Currying/Uncurrying f : c × a → b intercambiado com h : c → ba , onde ba ´ o espa¸o de fun¸oes a → b; e c c˜ Existˆncia de eval evala,b : ba × a → b equivale a e avaliar f (x), onde f : a → b e x ∈ a.
  121. 121. 17 OBJETO EXPONENCIAL 121 Observa¸˜es: co • Λ : C[c × a, b] → C[c, ba ] ´ uma bije¸˜o; e ca • Λ−1 : C[c, ba ] → C[c × a, b] ´ tal que e Λ−1 : h → evala,b ◦ (h × ida ); • Se Λ : C[c × a, b] → C[c, ba ] ´ uma bije¸ao e (1) da e c˜ defini¸˜o vale, ent˜o (2) ´ necessariamente ca a e verdadeiro; • Seja h ∈ C[c, ba ] e tomemos f ∈ C[c × a, b] tal que h = Λ(f ), ent˜o Λ(evala,b ◦ (h × ida )) = a Λ(evala,b ◦ (Λ(f ) × ida )) = Λ(f ) = h.
  122. 122. 17 OBJETO EXPONENCIAL 122 Defini¸ao alternativa: Sejam C uma categoria cartesiana c˜ e a, b ∈ ObC . O objeto exponencial de a para b ´ um e objeto ba junto com um morfismo evala,b : ba × a → b, tal que para todos os morfismos f : c × a → b, existe um e somente um h : c → ba tal que o seguinte diagrama comuta: f c c×a G` b y yyy h h×id yyy yy evala,b ba ba × a
  123. 123. 17 OBJETO EXPONENCIAL 123 Observa¸˜es: co • A defini¸ao de objeto exponencial sugere que ba c˜ “representa” C[a, b]; • C[t, ba ] ∼ C[t × a, b] ∼ C[a, b]; = = • Em Set, podemos dizer que a cardinalidade de B A ´ e mn , onde m ´ a cardinalidade de B e n ´ a e e cardinalidade de A. Por exemplo, se A = ∅ ent˜o a n = 0 e mn = 1. O que resulta no morfismo unico h ´ h G A em C B , j´ que, neste caso, B A ´ objeto a e terminal;
  124. 124. 17 OBJETO EXPONENCIAL 124 • Em Set o objeto exponencial de A e B ´ o conjunto e das f tal que f ´ fun¸˜o de A para B; e ca • B A = Set[A, B]; • eval : B A × A → B ´ dado pela regra e eval((f, x)) = f (x); • Λ : Set[C × A, B] → Set[C, B A ] leva cada fun¸ao c˜ f : C × A → B na fun¸ao Λ(f ) : C → B A definida c˜ por Λ(f )(c) = λaf (c, a), onde λaf (c, a) ∈ B A = Set[A, B] ´ a fun¸˜o que leva e ca a ∈ A para f (c, a) ∈ B;
  125. 125. 17 OBJETO EXPONENCIAL 125 • Observe-se que se a b via (i, j) ent˜o a retra¸ao ´ a c˜ e um sub-objeto de b; • Podemos estar interessados em categorias em que vale aa a, mas isto ´ imposs´ em Set pelo e ıvel Teorema de Cantor, j´ que a cardinalidade de aa ´ a e maior que a de a, desde que a = {∗}.
  126. 126. 17 OBJETO EXPONENCIAL 126 Rela¸ao com Teoria da Computabilidade: c˜ • Seja {φi }i∈N = PR uma enumera¸˜o de G¨del ca o aceit´vel das fun¸˜es parciais recursivas. Ou seja, a co dada uma fun¸ao parcial recursiva f qualquer, ent˜o c˜ a existe um i tal que φi = f ; • Seja [, ] : N × N → N uma bije¸ao efetiva; c˜ • Defina f : N × N → N uma fun¸˜o bin´ria parcial ca a recursiva se e somente se ∃f ∈ PR f (x, y) = f ([x, y]);
  127. 127. 17 OBJETO EXPONENCIAL 127 • Assim, f ´ parcial recursiva se e somente se e ∃s ∈ PR φs(x) (y) = f (x, y). Ent˜o, f ´ comput´vel se a e a e somente se cada argumento e a fun¸ao x → f (x, ) c˜ ´ comput´vel; e a • Isto significa que computacionalmente f est´ em a N × N → N se e somente se x → f (x, ) est´ em a N → (N → N); • Similarmente, na categoria cartesiana C vamos supor, para qualquer f : c × a → b, a existˆncia de um e morfismo que faz o mesmo que s em x → f (x, ) na teoria da recurs˜o. Este morfismo ´ o h. a e
  128. 128. 17 OBJETO EXPONENCIAL 128 C ´ uma categoria cartesiana fechada (CCC) se e somente e se: 1. C ´ cartesiana; e 2. Para cada par a, b ∈ ObC existe um exponencial. • Exemplo: Set; • Contra-exemplo: EN. Basta ver que EN[N, N] = R, onde R s˜o as fun¸˜es (totais) recursivas. Ent˜o, eval a co a seria a fun¸ao universal para R, o que ´ um absurdo. c˜ e
  129. 129. 17 OBJETO EXPONENCIAL 129 Teorema 5 Seja C uma CCC, ent˜o ab×c ∼ (ab )c . a =
  130. 130. 17 OBJETO EXPONENCIAL 130 Teorema 6 Seja C uma CCC. Se a a via (ina : a → a , outa : a → a) e b b via (inb : b → b , outb : b → b), ent˜o ba b a via a (Λ(inb ◦ eval ◦ (id × outa )) : ba → b a , Λ(outb ◦ eval ◦ (id × ina )) : b a → ba ). Prova: Λ(outb ◦ eval ◦ (id × ina )) ◦ Λ(inb ◦ eval ◦ (id × outa )) = Λ(outb ◦ eval ◦ (id × ina ) ◦ Λ(inb ◦ eval ◦ (id × outa )) × id) = Λ(outb ◦ eval ◦ Λ(inb ◦ eval ◦ (id × outa )) × id ◦ (id × ina )) = Λ(outb ◦ (inb ◦ eval ◦ id × outa ) ◦ (id × ina )) = Λ(eval ◦ id × (outa ◦ ina )) = Λ(eval ◦ id × id) = id
  131. 131. 17 OBJETO EXPONENCIAL 131 Seja C uma CCC. Um objeto V de C ´ reflexivo se e e somente se V V V .
  132. 132. 17 OBJETO EXPONENCIAL 132 Teorema 7 Sejam C uma CCC e V um objeto reflexivo. Ent˜o t V e V × V V . a Prova: Seja (in : V V → V, out : V → V V ) o par de retra¸˜o entre V e V V . Para provar t V basta provar a ca existˆncia de um morfismo de t para V . Seja e p1 : t × V → V uma proje¸˜o, ent˜o Λ(p1 ) : t → V V e ca a in ◦ Λ(p1 ) : t → V . Para provar V × V V devemos provar V × V V V e V × V V segue por composi¸˜o (prova completa ca mostrada no livro).
  133. 133. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 133 18 Equalizador, Produto Fibrado e Soma Amalgamada • Sejam f, g : A → B um par de fun¸oes “paralelas” c˜ em Set. O subconjunto E ⊆ A no qual f e g coincidem ´ chamado equalizador de f e g; e
  134. 134. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 134 • Na linguagem de categorias, E deve ser representado por um sub-objeto, como uma seta mono i : E → A e i deve satisfazer f ◦ i = g ◦ i; E A B f i g
  135. 135. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 135 • Para garantir que i represente o sub-objeto “maximal” devemos adicionalmente exigir que se h : C → A ´ outra fun¸ao tal que f ◦ h = g ◦ h, ent˜o e c˜ a h “fatora” de forma unica por meio de i, ou seja, ´ existe apenas um k : C → E tal que h = i ◦ k.
  136. 136. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 136 E A B f i g k h C
  137. 137. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 137 Dado um par de morfismos f, g ∈ C[a, b], um equalizador de f e g ´ um par (e, i), e ∈ ObC e i ∈ C[e, a] tal que: e 1. f ◦ i = g ◦ i; 2. Para todo h ∈ C[c, a], f ◦ h = g ◦ h implica que existe um unico k ∈ C[c, e] tal que i ◦ k = h. ´ f i Ga G e y c Gb ÐÐÐ g k ÐÐÐ ÐÐ h c Observa¸˜o: Chamamos h de pr´-equalizador. ca e
  138. 138. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 138 O conceito dual de equalizador ´ o co-equalizador (basta e inverter as setas).
  139. 139. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 139 Teorema 8 Todo equalizador ´ mono. e Prova: Seja i : e → a um equalizador de f, g : a → b. Assim, f ◦ i = g ◦ i. Sejam j, l : c → e tal que i ◦ j = i ◦ l (hip´tese). Desde que o f ◦ (i ◦ j) = (f ◦ i) ◦ j = (g ◦ i) ◦ j = g ◦ (i ◦ j) ent˜o i ◦ j a ´ um pr´-equalizador de f e g e existe um unico k : c → e e e ´ tal que i ◦ j = i ◦ k. Assim, j = k = l. f i Ga G e y Gb ÐÐc g k ÐÐÐ ÐÐÐ i◦j c
  140. 140. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 140 Teorema 9 Todo equalizador epi ´ iso. e Prova: Seja i : e → a um equalizador de f, g : a → b. Como i ´ epi e f ◦ i = g ◦ i, ent˜o f = g. Logo, a e a identidade ida equaliza f e g (´ um pr´-equalizador) e e e existe um unico k : a → e tal que ida = i ◦ k. Al´m disto, ´ e i ◦ k ◦ i = ida ◦ i = i = i ◦ ide e desde que i ´ mono (pelo e Teorema 8) ent˜o k ◦ i = ide . a e i G a f =g G b y c ÐÐÐ k ÐÐÐ ÐÐ ida a
  141. 141. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 141 • Queremos generalizar os equalizadores para morfismos com diferentes origens; • Este conceito se chama produto fibrado (pullback ); • O produto fibrado ´ uma das no¸˜es mais poderosas e co de Teoria das Categorias.
  142. 142. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 142 Dadas duas setas f : b → a e g : c → a com destino comum a, o produto fibrado de (f, g) ´ um objeto b ×a c e e duas setas p : b ×a c → b e q : b ×a c → c tal que: 1. f ◦ p = g ◦ q, onde f ◦ p, g ◦ q : b ×a c → a; 2. Para qualquer outra tripla (d, h : d → b, k : d → c) tal que g ◦ k = f ◦ h, existe uma unica seta ´ h, k a : d → b ×a c tal que p◦ h, k a = h e q◦ h, k a = k.
  143. 143. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 143 d ii ii k i h,ka ii4 6G b ×a c q c h p g 0 f b Ga
  144. 144. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 144 Observa¸˜es: co • O “quadrado” de baixo ´ chamado de “quadrado do e produto fibrado” (“pullback square”); • Note a semelhan¸a entre o produto fibrado e o c produto; • Na verdade, o produto ´ um caso particular de e produto fibrado;
  145. 145. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 145 • Observe que os subscritos “a” indicam dependˆncia e de b ×a c e h, k a sobre f e g, mas os subscritos n˜o s˜o opcionais pois a nota¸˜o deve indicar quando a a ca se trata de um produto fibrado; • Exemplo de produto fibrado em Set: o produto fibrado de (f : B → A, g : C → A) ´ e ({(x, y)|x ∈ B, y ∈ C, f (x) = g(y)}, p1 , p2 ), onde p1 ((x, y)) = x e p2 ((x, y)) = y.
  146. 146. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 146 O conceito dual de produto fibrado ´ a soma e amalgamada (pushout).
  147. 147. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 147 Teorema 10 Seja C uma categoria com objeto terminal t. Se C tem produtos fibrados para todo par de setas, ent˜o C tamb´m tem produtos para todo par de objetos. a e Prova: (esbo¸o) Dados a, b ∈ C, seja c (a × b, p1 : a × b → a, p2 : a × b → b) um produto fibrado ´ a de (!a : a → t, !b : b → t). E f´cil verificar que este ´ um e produto.
  148. 148. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 148 Teorema 11 Se uma categoria C tem produtos fibrados para todo par de setas e tem objeto terminal, ent˜o tem a um equalizador para todo par de setas. Prova: Sejam f, g : a → b. Seja (c, fst : c → a, snd : c → a) um produto fibrado de ( f, ida : a → b × a, g, ida : a → b × a). Ent˜o o a equalizador de f, g ´ (c, fst = snd). Pois, e f ◦ fst = p1 ◦ f ◦ fst, fst = p1 ◦ f, ida ◦fst = p1 ◦ g, ida ◦snd = p1 ◦ g ◦ snd, snd = g ◦ snd. Al´m disto, e para qualquer (c , h : c → a) tal que f ◦ h = g ◦ h, tamb´m e f, ida ◦h = g, ida ◦h, e por defini¸˜o de produto ca fibrado, existe um unico k : c → c tal que fst ◦ k = h. ´
  149. 149. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 149 Lema 1 (Lema do Produto Fibrado - Pullback Lemma - PBL) Se um diagrama da forma: ◦ G◦ G◦ ◦ G◦ G◦ comuta, ent˜o: a 1. Se os dois quadrados menores s˜o produtos fibrados, a ent˜o o retˆngulo externo ´ um produto fibrado; a a e 2. Se o retˆngulo externo e o quadrado a direita s˜o a a produtos fibrados, ent˜o o quadrado a esquerda ´ um a e produto fibrado.
  150. 150. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 150 Teorema 12 Se o quadrado: b ×a c Gc q p g f b Ga ´ um produto fibrado e g ´ mono, ent˜o p tamb´m ´ e e a e e mono.
  151. 151. 18 EQUALIZADOR, PRODUTO FIBRADO E SOMA AMALGAMADA 151 Observa¸˜es: co • Esta ultima propriedade sugere uma generaliza¸ao de ´ c˜ uma constru¸ao conjunto-teor´tica; c˜ e • Se f : A → B ´ uma fun¸ao e C ⊆ B, ent˜o a e c˜ a imagem inversa de C sob f , denotada por f −1 (C) ´ o e subconjunto de A definido como ´ a f −1 (C) = {x|x ∈ A, f (x) ∈ C}. E f´cil mostrar que o diagrama: f∗ f −1 (C) GC in in f A GB ´ um quadrado de produto fibrado em Set. e
  152. 152. 19 MORFISMOS PARCIAIS 152 19 Morfismos Parciais • Aplicar Teoria das Categorias no contexto de Teoria da Computabilidade; • Neste contexto, a no¸˜o de parcialidade aparece ca naturalmente pois programas de computador podem eventualmente n˜o terminar; a
  153. 153. 19 MORFISMOS PARCIAIS 153 • Uma fun¸ao parcial f : A → B com campo de c˜ defini¸˜o D ⊆ A pode ser representada por um par ca de fun¸oes totais (i : D → A, h : D → B), onde i ´ c˜ e uma inje¸ao e h ´ a restri¸ao de f para D. c˜ e c˜
  154. 154. 19 MORFISMOS PARCIAIS 154 Dados uma categoria C e dois objetos a e b, um mapeamento parcial [m, h] : a → b ´ uma classe de e equivalˆncia de pares (m : d → a, h : d → b), onde m ´ e e mono, com respeito a seguinte rela¸ao R: c˜ (m : d → a, h : d → b)R(m : d → a, h : d → b) se e somente se existir k : d → d, k iso, m = m ◦ k e h = h ◦ k.
  155. 155. 19 MORFISMOS PARCIAIS 155 • Desejamos definir a categoria pC, de mapeamentos parciais sobre C; • Um problema ´ definir as composi¸oes; e c˜ • Se C tem produtos fibrados para todo par de setas, podemos resolver o problema;
  156. 156. 19 MORFISMOS PARCIAIS 156 • Dados (n : e → b, k : e → c) e (m : d → a, h : d → b); • Defina [n, k] ◦ [m, h] : a → c a classe de equivalˆncia e determinada pelos lados mais externos do seguinte diagrama, ou seja, (m ◦ n : d ×b e → a, k ◦ h : d ×b e → c), onde o quadrado ´ um produto fibrado: e h Ge k Gc d ×b e n n d Gb h m a • Pelo Teorema 12, como n ´ mono, n tamb´m o ´. e e e
  157. 157. 19 MORFISMOS PARCIAIS 157 Exemplo em Set: • Supomos D ⊆ A e E ⊆ B e tomamos m : D → A e n : E → B como as inje¸oes canˆnicas; c˜ o • Ent˜o, D ×B E = {(x, y)|x ∈ D, y ∈ E, h(x) = a n(y)} = {(x, y)|x ∈ D, y ∈ E, h(x) = y} ∼ {x|x ∈ = D, h(x) ∈ E}, ou seja, o campo de defini¸ao da c˜ fun¸˜o composta; ca • Concluimos que, para todo x ∈ {x|x ∈ D, h(x) ∈ E}, temos k(h (x)) = k(h(x)), como era necess´rio. a
  158. 158. 19 MORFISMOS PARCIAIS 158 Toda seta f ∈ C[a, b] tem naturalmente uma seta associada em pC, isto ´, (id : a → a, f : a → b). e
  159. 159. 20 ¸˜ FUNTORES E TRANSFORMACOES NATURAIS 159 20 Funtores e Transforma¸oes c˜ Naturais

×