Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes 1
Matemática Discreta para Ciência da Computação P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Lógica e Técnicas de Demonstração 3 Álgebra de Conjuntos 4 Relações 5 Funções Parciais e Totais 6 Endorrelações, Ordenação e Equivalência 7 Cardinalidade de Conjuntos 8 Indução e Recursão 9 Álgebras e Homomorfismos 10 Reticulados e Álgebra Booleana 11 Conclusões Matemática Discreta para Ciência da Computação - P. Blauth Menezes 2
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 3
9 Álgebras e Homomorfismos Já foi introduzido que Álgebra, desde a sua origem até a sua forma atual refere-se a cálculos Desenvolvida de forma informal ou formal praticamente em todos os níveis de escolaridade ex: operações aritméticas (adição, multiplicação ) sobre R Álgebras, em CC, destaca-se a partir de 1950 Teoria dos Autômatos e Linguagens Formais De certa forma, toda a CC é construída sobre álgebras Álgebra: denominação alternativa para a Matemática Discreta Matemática Discreta para Ciência da Computação - P. Blauth Menezes 4
Assim, o estudo mais amplo de álgebras central no contexto da Matemática Discreta Alguns exemplos de álgebras já introduzidos Álgebra de Conjuntos conjuntos e as operações sobre conjuntos (união, ) Álgebra de Funções funções e composição de funções Álgebra de Proposições proposições e conetivos lógicos (e, negação, ) Seguindo a mesmo linha de raciocínio Álgebra de Relações, Álgebra de Funções Parciais,... Matemática Discreta para Ciência da Computação - P. Blauth Menezes 5
Conceito formal de álgebra simples mas com um nível de abstração relativamente alto para caracterizar todos os tipos de álgebras O conceito é construindo do concreto para o abstrato inicialmente são introduzidos alguns exemplos Exemplos acima são de álgebras grandes operações definidas sobre coleções (e não conjuntos) Neste capítulo ênfase às álgebras pequenas Matemática Discreta para Ciência da Computação - P. Blauth Menezes 6
Homomorfismo de Álgebras conceito tão importante quanto o de álgebra são funções (álgebras pequenas) mapeiam álgebras (estruturalmente similares) preservando as estruturas morfismo alguma forma de mapeamento (relação, função, ) entre duas estruturas similares homo preserva a estrutura noção de homomorfismo é desenvolvida gradativamente Matemática Discreta para Ciência da Computação - P. Blauth Menezes 7
Estudo mais formal de álgebra conceito de operação principais propriedades das operações Importantes álgebras e homomorfismos fecho de Kleene grafo (visto como álgebra) categoria (vista como álgebra) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 8
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 9
9.1 Operações Binárias Operação (pequena): função parcial já foi introduzido De especial interesse para a Computação e Informática operações binárias domínio: produto cartesiano operações internas a um conjunto A domínio e contra-domínio são definidos sobre A operações fechadas total Matemática Discreta para Ciência da Computação - P. Blauth Menezes 10
Def: Operação Binária, Interna, Fechada A, B e C conjuntos Operação Binária : A B C Operação Interna ao conjunto A domínio e contra-domínio são definidos em A o próprio A ou conjunto resultante do produto cartesiano sobre A operação binária interna ao conjunto A : A A A Operação Fechada: operação total (função) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 11
Exp: Operação binária? interna? fechada? Divisão nos reais. div: R R R div x, y = x/y Quadrado nos naturais. quadrado: N N quadrado(n) = n 2 Elemento. 1 = { * } conjunto unitário. zero: 1 N zero * = 0 União. A conjunto. : P(A) P(A) P(A) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 12
Obs: Elemento de Conjunto como Função Função zero: 1 N tal que zero * = 0 forma de identificar um elemento de um conjunto por uma função se 1 é conjunto unitário fixo, e A conjunto qualquer exemplo #A = #{ f f : 1 A é função } 1 boolean true true false 1 boolean true false false Matemática Discreta para Ciência da Computação - P. Blauth Menezes 13
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 14
9.2 Propriedades das Operações Binárias Principais propriedades das operações binárias, internas e fechadas Comutativa * Associativa * Elemento neutro * Elemento inverso * introduzidas anteriormente: Álgebra de Conjuntos & Lógica Matemática Discreta para Ciência da Computação - P. Blauth Menezes 15
Def: Comutativa, Associativa, Elemento Neutro, Elemento Inverso : A A A operação binária, interna e fechada Comutativa ( a A)( b A) ( a b = b a ) Associativa ( a A)( b A)( c A) ( a (b c) = (a b) c ) Elemento Neutro ( e A)( a A) ( a e = e a = a ) Elemento Inverso ( a A)( a A) ( a a = a a = e ) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 16
Associativa??? precedência na aplicação do operando não é importante parênteses podem ser omitidos Elemento Neutro a b c satisfazer simultaneamente à esquerda e à direita é fundamental ( e A)( a A) ( a e = e a = a ) divisão nos reais possui neutro à direita não possui neutro à esquerda número um Matemática Discreta para Ciência da Computação - P. Blauth Menezes 17
Exp: Propriedades da União A conjunto. : P(A) P(A) P(A) Comutativa? Associativa? Elemento neutro? (qual?) Elemento inverso? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 18
Exp: Propriedades da Adição +: N N N comutativa associativa elemento neutro (zero) +: Z Z Z comutativa associativa elemento neutro elemento inverso n + n = n + n = 0 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 19
Exp: Propriedades da Multiplicação *: N N N comutativa, associativa e elemento neutro (um) *: R R R comutativa, associativa e elemento neutro se considerada sem o zero elemento inverso x * 1/x = 1/x * x = 1 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 20
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 21
9.3 Grupóides, Semigrupos, Monóides, Grupos Exemplo de álgebra operação binária e interna : A A A usualmente denotada como um par ordenado álgebra interna operação é interna A, conjunto suporte da álgebra interna A, conjunto A Matemática Discreta para Ciência da Computação - P. Blauth Menezes 22
Operações binárias e internas são especialmente importantes para Computação e Informática Tipos mais importantes de álgebras internas com uma única operação binária se a operação for comutativa, é dita abeliana Tipo de Álgebra Grupóide Fechada Associativa Elemento Neutro Semigrupo Monóide Elemento Inverso Grupo Matemática Discreta para Ciência da Computação - P. Blauth Menezes 23
Hierarquia entre estes tipos de álgebras Universo de Todas as Álgebras Internas (uma operação) Grupóides (fechada) Semigrupos (fechada + associativa) Monóides (fechada + associativa + neutro) Grupos (fechada + associativa + neutro + inverso) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 24
Def: Grupóide, Semigrupo, Monóide, Grupo Grupóide: álgebra interna A, : A A A operação (binária e interna) fechada Semigrupo: álgebra interna A, A, grupóide associativa Monóide: álgebra interna A, ou A,, e A, semigrupo elemento neutro Grupo: álgebra interna A, ou A,, e A, monóide elemento inverso Matemática Discreta para Ciência da Computação - P. Blauth Menezes 25
Def: Grupóide, Semigrupo, Monóide, Grupo Se a operação for comutativa Grupóide Comutativo ou Grupóide Abeliano Semigrupo Comutativo ou Semigrupo Abeliano Monóide Comutativo ou Monóide Abeliano Grupo Comutativo ou Grupo Abeliano Matemática Discreta para Ciência da Computação - P. Blauth Menezes 26
Exp: Grupóide, Semigrupo, Monóide: Concatenação Σ alfabeto não-vazio, operação de concatenação conc: Σ* Σ* Σ* fechada associativa elemento neutro (palavra vazia ε) Portanto, a álgebra interna Σ*, conc é simultaneamente grupóide semigrupo monóide Não é grupo comutativa (e se o alfabeto for vazio?) (e se o alfabeto for vazio ou unitário?) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 27
Exp: Grupóide, Semigrupo, Monóide: União e Intersecção A conjunto, operações de união e de intersecção : P(A) P(A) P(A) e : P(A) P(A) P(A) fechadas associativas elemento neutro ( e A) comutativas Portanto álgebras internas P(A), e P(A), são simultaneamente grupóides abelianos semigrupos abelianos monóides abelianos Matemática Discreta para Ciência da Computação - P. Blauth Menezes 28
Exp: Grupóide, Semigrupo, Monóide: União e Intersecção Se união e intersecção definidas sobre todos os conjuntos constituem grupóides? Se o conjunto suporte A for vazio, P(A), e P(A), constituem grupos? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 29
Exp: Grupóide, Semigrupo, Monóide, Grupo: Adição e Multiplicação Simultaneamente grupóides abelianos, semigrupos abelianos e monóides abelianos (qual o elemento neutro?) N, + e N, Z, + e Z, R, + e R, Grupos abelianos Z, + R, + R { 0 }, adição nos inteiros adição nos reais multiplicação nos reais sem o zero Matemática Discreta para Ciência da Computação - P. Blauth Menezes 30
Exp: Grupóide, Semigrupo, Monóide, Grupo: Unitário Simultaneamente grupóide abeliano, semigrupo abeliano, monóide abeliano e grupo abeliano Unitário. { },!, operação!: { } { } { } fechada associativa comutativa elemento neutro (o único elemento do suporte) elemento inverso (por quê?) única op. com origem em { } { } e destino em { } (por quê?) Menor monóide (em termos do cardinal do conjunto suporte) unitário Matemática Discreta para Ciência da Computação - P. Blauth Menezes 31
Exp: Grupóide, Semigrupo: Vazio Simultaneamente grupóide abeliano e semigrupo abeliano Vazio.,, operação vazia : fechada associativa (por quê?) comutativa única operação com origem em e destino em (por quê?) Menor grupóide (em termos do cardinal do conjunto suporte) vazio Matemática Discreta para Ciência da Computação - P. Blauth Menezes 32
Exp: Álgebra Não-Grupóide A conjunto não-vazio. Não são grupóides (por que?) Subtração nos naturais: N, - Divisão nos reais: R, / Produto cartesiano no conjunto das partes P(A), Exp: Álgebra Não-Semigrupo São grupóides, mas não são semigrupos (operações não-associativas) Subtração nos inteiros: Z, - Divisão nos reais sem o zero: R - { 0 }, / Matemática Discreta para Ciência da Computação - P. Blauth Menezes 33
Exp: Álgebra Não-Monóide Vazio. Semigrupo abeliano, operação : não possui elemento neutro suporte de um monóide não pode ser vazio Adição e Multiplicação. Excluindo-se, respectivamente, 0 e 1 N - { 0 }, + e N - { 1 }, R - { 0 }, + e R - { 1 }, Matemática Discreta para Ciência da Computação - P. Blauth Menezes 34
Exp: Álgebra Não-Grupo Adição e Multiplicação. N, + R, adição nos inteiros multiplicação nos reais União e Intersecção. A conjunto não-vazio P(A), P(A), Concatenação. Σ alfabeto não-vazio Σ*, conc, ε Matemática Discreta para Ciência da Computação - P. Blauth Menezes 35
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 36
9.4 Importantes Propriedades dos Monóides e Grupos Elemento neutro em um monóide é único??? Técnicas de Demonstração - prova por absurdo 0 é o único elemento neutro da adição em N Teorema: Elemento Neutro de um Monóide é Único A,, e monóide. Então, e A é o único elemento neutro do monóide Prova: (por absurdo) A,, e monóide. Suponha que e não é o único elemento neutro existe um outro elemento neutro e, diferente de e Matemática Discreta para Ciência da Computação - P. Blauth Menezes 37
Então (suponha a A) e é neutro a = e a = a e para a = e tem-se que e = e e = e e e é neutro a = e a = a e para a = e tem-se que e = e e = e e transitividade da igualdade e = e contradição!!! foi suposto que e e É absurdo supor que o elemento neutro de A,, e não é único Logo, o elemento neutro é único Matemática Discreta para Ciência da Computação - P. Blauth Menezes 38
Teorema a seguir importante propriedade dos grupos generaliza a intuição sobre operações como a adição nos reais se x + 3 = y + 3 então, x = y propriedade cancelamento Matemática Discreta para Ciência da Computação - P. Blauth Menezes 39
Teorema: Propriedade de Cancelamento dos Grupos A, um grupo satisfaz à propriedade de cancelamento, ou seja, simultaneamente: Cancelamento à direita ( a A)( x A)( y A) ( x a = y a x = y ) Cancelamento à esquerda: ( a A)( x A)( y A) ( a x = a y x = y ) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 40
Prova: Cancelamento à direita. Suponha que x a = y a x = x e = x (a a) = (x a) a = (y a) a = y (a a) = y e = y elemento neutro elemento inverso associatividade hipótese associatividade elemento inverso elemento neutro Portanto, x = y Cancelamento à esquerda. A prova é análoga (exercício) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 41
Teorema Elemento Inverso em um Grupo é Único A, grupo. Então, para qualquer a A, o elemento inverso de a é único Prova: Exercício Matemática Discreta para Ciência da Computação - P. Blauth Menezes 42
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.5.1 Grupóides e Semigrupos 9.5.2 Monóides 9.5.3 Grupos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 43
9.5 Homomorfismos Homomorfismo de álgebras (já foi afirmado) é constituído por funções (no caso de álgebras pequenas) mapeiam álgebras de um mesmo tipo preservando as suas estruturas Como estruturas (abelianas ou não) são preservadas por homomorfismos de Grupóides? Semigrupos? Monóides? Grupos? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 44
Monomorfismo, epimorfismo e isomorfismo? seria de se esperar que os conceitos fossem naturalmente estendidos para mapeamentos de álgebras somente o de isomorfismo pode ser estendido Obs: Monomorfismo, Epimorfismo e Isomorfismo de Álgebras Isomorfismo baseado na existência de um morfismo inverso pode ser naturalmente estendido para as estruturas algébricas Monomorfismo e epimorfismo necessitam de noções e conceitos baseados em Teoria das Categorias (fogem do escopo da disciplina) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 45
Estruturas algébricas isomorfas se existe um isomorfismo entre tais estruturas são consideradas basicamente a mesma e, obrigatoriamente iguais a menos de isomorfismo possuem as mesmas propriedades Matemática Discreta para Ciência da Computação - P. Blauth Menezes 46
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.5.1 Grupóides e Semigrupos 9.5.2 Monóides 9.5.3 Grupos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 47
9.5.1 Homomorfismo: Grupóides e Semigrupos Homomorfismo de grupóides função entre os conjuntos suportes preserva a operação homomorfismo A, a1 a2 a3 = a1 a2 b1 b2 B, b3 = b1 b2 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 48
Homomorfismo de semigrupos é como um homomorfismo de grupóides preserva operação preserva associatividade Def: Homomorfismo de Grupóides A, e B, grupóides h: A, B, função entre os conjuntos suportes h: A B tal que ( a 1 A)( a 2 A)( h a 1 a 2 = h a 1 h a 2 ) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 49
Notação h: A, B, e não simplesmente como função h: A B destaca o fato de que se trata de um morfismo entre álgebras Matemática Discreta para Ciência da Computação - P. Blauth Menezes 50
Exp: Homomorfismo de Grupóides: Identidade, Inclusão A,, N, + e Z, + grupóides Identidade. Função identidade id A : A A induz id A, : A, A, Inclusão. Função inclusão inc N,Z: N Z induz inc N,+, Z,+ : N, + Z, + Termos identidade e inclusão consideram toda a estrutura do grupóide e não apenas o conjunto suporte Matemática Discreta para Ciência da Computação - P. Blauth Menezes 51
Exp: Morfismo Não-Homomorfismo de Grupóides A um conjunto e P(A),, P(A), grupóides Morfismo induzido pela identidade id P (A): P(A) P(A) não é, em geral, um homomorfismo de grupóides id P (A): P(A), P(A), Exemplo: A = { a, b }, P(A) = {, { a }, { b }, { a, b } } São diferentes id P (A) { a } { b } = id P (A) { a, b } = { a, b } id P (A) { a } { b } = id P (A) { a } id P (A) { b } = {a} {b} = Exercício: função inclusão (não-identidade) a qual induz um morfismo não-homomorfismo de grupóides Matemática Discreta para Ciência da Computação - P. Blauth Menezes 52
Exp: Homomorfismo de Grupóides: Concatenação Σ 1 = { a, b, c } e Σ 2 = { r, s } alfabetos Σ 1 *, conc 1 e Σ 2 *, conc 2 grupóides Função f: Σ 1 Σ 2 tal que (função entre alfabetos) f a = r f b = r f c = s induz canonicamente o homomorfismo de grupóides (mapeia palavras) f*: Σ 1 *, conc 1 Σ 2 *, conc 2 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 53
indutivamente definido f* ε = ε para qualquer x Σ 1, vale f* x = f x se x Σ 1 e w Σ 1 *, então f* x w = f x f* w Σ 1 * ε a b c aa ab ac bb... f* ε r s r r rs... Σ 2 * Matemática Discreta para Ciência da Computação - P. Blauth Menezes 54
Exemplo: f* abc = f a f* bc = f a f b f* c = f a f b f c f* ε = r r s ε = r r s Σ 1 * ε a b c aa ab ac bb... f* ε r s r r rs... Σ 2 * Matemática Discreta para Ciência da Computação - P. Blauth Menezes 55
Função entre alfabetos g: Σ 2 Σ 1 g r = a g s = b induz o homomorfismo de grupóides Σ 2 * Σ ε 1 * r s r r rs... g* ε a b c aa ab ac bb... Matemática Discreta para Ciência da Computação - P. Blauth Menezes 56
Def: Isomorfismo de Grupóides h: A, B, é um Isomorfismo de Grupóides se e somente se h possui um homomorfismo de grupóides inverso g: B, A, g o h = id A, e h o g = id B, Matemática Discreta para Ciência da Computação - P. Blauth Menezes 57
Exp: Isomorfismo de Grupóides { a }*, conc e N, + grupóides tal que h a = 1 h: { a } N induz o homomorfismo de grupóides indutivamente definido h*: { a }*, conc N, + h* ε = 0 h* a = h a se w { a }*, então h* a w = h a + h* w Matemática Discreta para Ciência da Computação - P. Blauth Menezes 58
Exp: Isomorfismo de Grupóides Mapeia cada palavra no seu correspondente tamanho h* aaa = h a + h* aa = h a + h a + h* a = h a + h a + h a + h* ε = 1 + 1 + 1 + 0 = 3 Homomorfismo induzido h*: { a }*, conc N, + é isomorfismo de grupóides (qual o homomorfismo inverso?). Logo, Σ*, conc e N, + são iguais a menos de isomorfismo base unária para os naturais e a operação de adição Matemática Discreta para Ciência da Computação - P. Blauth Menezes 59
Obs: Base de Sistemas Numéricos Base decimal base dos sistemas numéricos usualmente adotada na Matemática origem: número de dedos das duas mãos base complicada para representação em sistemas computadores computador: usa base binária os dois valores possíveis de um bit: 0 e 1 ou qq alfabeto binário Exemplo anterior: base unária para os naturais e a adição Estudo de bases Arquitetura de Computadores e Aritmética Computacional Exercício: base binária para os números naturais e a adição Matemática Discreta para Ciência da Computação - P. Blauth Menezes 60
Dois teoremas importantes composição de hom. de grupóides é hom. de grupóides hom. de grupóides preservam a propriedade associativa Teorema: Composição de Homomorfismo de Grupóides A,, B, e C, grupóides f: A, B, e g: B, C, hom. de grupóides g o f: A, C, induzido pela composição das funções f: A B e g: B C g o f: A C é homomorfismo de grupóides Matemática Discreta para Ciência da Computação - P. Blauth Menezes 61
Prova: Suponha f: A, B, e g: B, C, hom. de grupóides Como a composição de funções é uma função mostrar que g o f: A, C, é hom. de grupóides basta mostrar que preserva a operação Para quaisquer a 1 A e a 2 A g o f a 1 a 2 = g f a 1 a 2 = g f a 1 f a 2 = g f a 1 g f a 2 = g o f a 1 g o f a 2 definição de composição f hom. de grupóides g hom. de grupóides definição de composição Portanto g o f: A, C, é hom. de grupóides Matemática Discreta para Ciência da Computação - P. Blauth Menezes 62
Teorema: Hom de Grupóides Preserva a Associatividade Sejam A, e B, grupóides e f: A, B, hom. de grupóides Se A, ou B, é semigrupo então f: A, B, preserva a associatividade Matemática Discreta para Ciência da Computação - P. Blauth Menezes 63
Prova: Caso 1: A, é semigrupo Como é associativa, para quaisquer a A, b A e c A f a (b c) = f (a b) c Como f: A, B, preserva a operação f a (b c) = f (a b) c f a f (b c) = f (a b) f c f a (f b f c ) = (f a f b ) f c Logo, preserva a associatividade Matemática Discreta para Ciência da Computação - P. Blauth Menezes 64
Caso 2: B, é semigrupo Para quaisquer a A, b A e c A f a (b c) = f a f b c = f a (f b f c ) = (f a f b ) f c = f a b f c = f (a b) c f preserva a operação f preserva a operação é associativa f preserva a operação f preserva a operação Logo, preserva a associatividade Portanto, hom de semigrupos é como um hom. de grupóides basta preservar a operação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 65
Def: Homomorfismo de Semigrupos A, e B, semigrupos Homomorfismo de Semigrupos h: A, B, é um homomorfismo de grupóides h: A, B, Isomorfismo de semigrupos se e somente se h possui um hom. de semigrupos inverso Matemática Discreta para Ciência da Computação - P. Blauth Menezes 66
Comutatividade raciocínio análogo exercício Teorema: Hom. de Grupóides Preserva Comutatividade A, e B, grupóides f: A, B, hom. de grupóides Se A, ou B, é abeliano então f: A, B, preserva a comutatividade Matemática Discreta para Ciência da Computação - P. Blauth Menezes 67
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.5.1 Grupóides e Semigrupos 9.5.2 Monóides 9.5.3 Grupos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 68
9.1.2 Homomorfismo de Monóides Mapeamento de monóides preservar a operação não necessariamente implica preservar o elemento neutro exercício Homomorfismo de monóides função entre os conjuntos suportes tal que, preserva operação (como hom. de grupóides/semigrupos) elemento neutro Matemática Discreta para Ciência da Computação - P. Blauth Menezes 69
Homomorfismo de monóides função entre os conjuntos suportes preserva operação (como hom. de grupóides/semigrupos) preserva elemento neutro e A a1 a2 a3 = a1 a2 homomorfismo A,,e A B,,e B e B b1 b2 b3 = b1 b2 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 70
Def: Homomorfismo de Monóides A,, e A e B,, e B monóides Homomorfismo de Monóides h: A,, e A B,, e B hom. de semigrupos (ou grupóides) h: A, B, preserva o elemento neutro Isomorfismo de monóides h e A =e B se e somente se possuir um hom. de monóides inverso Matemática Discreta para Ciência da Computação - P. Blauth Menezes 71
Exp: Homomorfismo: Identidade, Inclusão A,, e, N, +, 0 e Z, +, 0 monóides Identidade. Função identidade id A : A A induz homomorfismo identidade de monóides isomorfismo de monóides id A,,e : A,, e A,, e Inclusão. Função inclusão inc N,Z: N Z induz o homomorfismo inclusão de monóides abelianos inc N,+,0, Z,+,0 : N, +, 0 Z, +, 0 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 72
Exp: Homomorfismo: União A = { a, b } e X = { x, y, z } conjuntos P(A),, e P(B),, monóides abelianos tal que: h = h { a } = { x, y } h { b } = { y, z } h { a, b } = { x, y, z } h: P(A),, P(X),, Preserva elemento neutro e operação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 73
Exp: Homomorfismo: União Exemplificando a preservação da operação h { a } { b } = h { a, b } = { x, y, z } = { x, y } { y, z } = h { a } h { b } Portanto, h { a } { b } = h { a } h { b } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 74
Exp: Homomorfismo: Isomorfismo O homomorfismo de grupóides (exemplo anterior) é um isomorfismo de monóides h*: { a }*, conc, ε N, +, 0 preserva operação (é hom. de grupóides) preserva elemento neutro h* ε = 0 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 75
Teorema: Composição de Homomorfismo de Monóides A,, e A, B,, e B e C,, e C monóides f: A,, e A B,, e B e g: B,, e B C,, e C hom. de monóides O homomorfismo composto g o f: A,, e A C,, e C induzido pela composição das funções f: A B e g: B C é um homomorfismo de monóides Matemática Discreta para Ciência da Computação - P. Blauth Menezes 76
Prova: (direta) f: A,, e A B,, e B e g: B,, e B C,, e C hom. de monóides Como a composição de hom. de semigrupos é hom. de semigrupos basta mostrar que g o f: A,, e A C,, e C preserva elem. neutro g o f e A = g f e A = g e B = e C definição de composição f é homomorfismo de monóides g é homomorfismo de monóides Portanto, g o f e A = e C Logo, g o f: A,, e A C,, e C é um homomorfismo de monóides Matemática Discreta para Ciência da Computação - P. Blauth Menezes 77
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.5.1 Grupóides e Semigrupos 9.5.2 Monóides 9.5.3 Grupos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 78
9.1.3 Homomorfismo de Grupos Homomorfismo de grupos como homomorfismo de grupóides basta preservar a operação Prova-se que, em se tratando de grupos preservar a operação implica preservar elemento neutro elemento inverso Matemática Discreta para Ciência da Computação - P. Blauth Menezes 79
Composição homs. de grupóides é hom. de grupóides Implica: composição de homs. de grupos é hom. de grupos Analogamente aos homs. Anteriores isomorfismo de grupos se e somente se possuir um homomorfismo de grupos inverso Teorema: Homomorfismo de Grupos Elemento Neutro A,, e A e B,, e B grupos f: A,, e A B,, e B homomorfismo de grupóides Então, f preserva o elemento neutro f e A = e B Matemática Discreta para Ciência da Computação - P. Blauth Menezes 80
Prova: Suponha A,, e A e B,, e B grupos e f: A,, e A B,, e B hom. de grupóides f e A f e A = f e A e A = f e A = f e A e B f é homomorfismo de grupóides elemento neutro de elemento neutro de Portanto, f e A f e A = f e A e B. Pela propriedade do cancelamento Logo, f preserva o elemento neutro f e A = e B Matemática Discreta para Ciência da Computação - P. Blauth Menezes 81
Teorema: Homomorfismo de Grupos Elemento Inverso A,, e A e B,, e B grupos f: A,, e A B,, e B homomorfismo de grupóides Então f preserva o elemento inverso ( a A) ( f a = f a ) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 82
Prova: Suponha A,, e A e B,, e B grupos, f: A,, e A B,, e B homomorfismo de grupóides e qualquer a A f a f a = f a a = f e A = e B = f a f a f é homomorfismo de grupóides elemento inverso de f preserva elemento neutro elemento inverso de f é homomorfismo de grupóides Portanto, f a f a = f a f a. Pela propriedade do cancelamento f a = f a Logo, f preserva o elemento inverso Matemática Discreta para Ciência da Computação - P. Blauth Menezes 83
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 84
9.6 Monóide Livre Gerado e Fecho de Kleene Já foi visto para um alfabeto Σ, a álgebra interna Σ*, conc, ε é monóide Σ* pode ser indutivamente definido a partir do alfabeto Σ Definição indutiva Base de Indução ε Σ* para qualquer x Σ, tem-se que x Σ* Passo de Indução se u e v são palavras de Σ*, então a concatenação u v Σ* Matemática Discreta para Ciência da Computação - P. Blauth Menezes 85
O raciocínio pode ser aplicado a um conjunto A qq não necessariamente é um alfabeto (não finito) passo de indução considera a palavra vazia ε como elemento neutro se u A*, então u ε = ε u = u Monóide livre tipo especial e importante de monóide conjunto suporte A* é (livremente) gerado por um conjunto A Matemática Discreta para Ciência da Computação - P. Blauth Menezes 86
Def: Monóide Livre, Fecho de Kleene A conjunto Monóide Livre Gerado por A ou Monóide Livremente Gerado por A A*, conc, ε conjunto suporte A* = Fecho de Kleene de A A é denominado de Gerador Base de Indução ε A* para qualquer x A, tem-se que x A* Passo de Indução se u e v são palavras de A*, então a concatenação u v A* Matemática Discreta para Ciência da Computação - P. Blauth Menezes 87
Portanto conjunto de todas as palavras sobre um alfabeto conjunto suporte do monóide livremente gerado pelo alfabeto Fecho de Kleene do alfabeto linguagem formal (como Pascal) subconjunto do Fecho de Kleene do alfabeto Condições para que monóide livre seja abeliano??? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 88
Exp: Homomorfismo Monóides Livres 1 = { a, b, c } e 2 = { r, s } alfabetos 1 *, conc 1, ε e 2 *, conc 2, ε monóides Canonicamente induzidos por funções nos geradores f: 1 2 função f a = r f b = r f c = s g: 2 1 função g r = a g s = b Matemática Discreta para Ciência da Computação - P. Blauth Menezes 89
Exp: Homomorfismo Monóides Livres 1 = { a, b, c } e 2 = { r, s } alfabetos Homomorfismo não induzido por função entre os geradores h ε = ε h a = rr h b = rs h c = ss se x Σ 1 e w Σ 1 *, então h x w = h x h w exemplo h abc = h a h bc = h a h b h c ε = h a h b h c h ε = rr rs ss ε = rr rs ss Matemática Discreta para Ciência da Computação - P. Blauth Menezes 90
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 91
9.7 Grafos Até o momento, as álgebras apresentadas uma única operação definida sobre um único conjunto Freqüentemente, álgebras mais de uma operação operações definidas sobre mais de um conjunto Matemática Discreta para Ciência da Computação - P. Blauth Menezes 92
Álgebras polissortidas definidas sobre mais de um conjunto termo sorte: gênero, classe ou espécie Álgebras monossortidas definidas sobre um único conjunto Noção de grafo informalmente apresentada: estudo das endorrelações toda endorrelação pode ser vista como um grafo e conseqüentemente, como uma álgebra nem todo grafo pode ser visto como uma endorrelação exercício Matemática Discreta para Ciência da Computação - P. Blauth Menezes 93
Grafos são importantes para Computação e Informática Estudo de Grafos é brevemente apresentado Ênfase grafos grafos pequenos nodos e arcos constituem conjuntos grafos direcionados arcos possuem sentido Matemática Discreta para Ciência da Computação - P. Blauth Menezes 94
Grafo visto como álgebra nodos e arcos conjuntos sobre os quais as operações são definidas álgebra polissortida origem e destino operações unárias fechadas (não-internas) associam, para cada arco, o nodo origem e destino Matemática Discreta para Ciência da Computação - P. Blauth Menezes 95
Def: Grafo Grafo Pequeno Direcionado ou simplesmente Grafo G álgebra polissortida G = V, T, orig, dest V conjunto de Nodos ou Vértices T conjunto de Arcos, Arestas ou Setas orig: T V e dest: T V operações totais (funções) denominadas Origem e Destino Matemática Discreta para Ciência da Computação - P. Blauth Menezes 96
Notação arco t tal que orig t = A e dest t = B denotado por t: A B representado na forma de diagrama A t B Matemática Discreta para Ciência da Computação - P. Blauth Menezes 97
Exp: Grafo Arco único. G 1 = { A, B }, { t }, orig 1, dest 1 orig t = A dest t = B Nodo isolado. G 2 = { X },, orig 2, dest 2 orig 2 : { X } e dest 2 : { X } funções vazias Arcos paralelos. G 3 = { 1, 2 }, { r, s, t, u, v }, 0 3, 1 3 arcos paralelos: mesmos nodos origem e destino t A B X r 1 s 2 u v t Matemática Discreta para Ciência da Computação - P. Blauth Menezes 98
Multigrafo freqüentemente, grafos com arcos paralelos são ditos multigrafos Homomorfismo de grafos preserva a estrutura dos grafos, ao mapear os nodos e arcos deve preservar as operações origem e destino mapeamento de um arco de acordo com o mapeamento dos seus nodos origem e destino Matemática Discreta para Ciência da Computação - P. Blauth Menezes 99
Def: Homomorfismo de Grafos G 1 = V 1, T 1, orig 1, dest 1 e G 2 = V 2, T 2, orig 2, dest 2 grafos h: G 1 G 2 par de funções h = h V, h T onde h V : V 1 V 2 e h T : T 1 T 2 tais que orig 2 o h T = h V o orig 1 e dest 2 o h T = h V o dest 1 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 100
Exp: Homomorfismo de Grafos G 1 A G 2 r h V a 1 2 B h T c b s t d 3 C e existe mais algum homomorfismo de grafos de G 1 para G 2? existe pelo menos um morfismo de G 2 para G 1? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 101
Teorema: Composição de Homomorfismos de Grafos Sejam f: G 1 G 2 e g: G 2 G 3 homomorfismos de grafos g o f: G 1 G 3 tal que g o f = g V o f V, g T o f T, é um homomorfismo de grafos Prova: (direta) Seja t: A B arco de G 1. Então t: A B é arco de G 1 f T (t): f V (A) f V (B) é arco de G 2 (f é hom. de grafos) g T (f T (t)): g V (f V (A)) g V (f V (B)) é arco de G 3 (g é hom. de grafos) Logo, g o f é homomorfismo de grafos Matemática Discreta para Ciência da Computação - P. Blauth Menezes 102
9 Álgebras e Homomorfismos 9.1 Operações Binárias 9.2 Propriedades das Operações Binárias 9.3 Grupóides, Semigrupos, Monóides, Grupos 9.4 Importantes Propriedades dos Monóides e Grupos 9.5 Homomorfismos 9.6 Monóide Livre Gerado e Fecho de Kleene 9.7 Grafos 9.8 Categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 103
9.8 Categorias Em um primeiro momento, Teoria das Categorias pode ser vista como generalização da álgebra de funções principal operação: composição de funções Categoria é uma estrutura abstrata constituída de objetos e setas entre os objetos com uma propriedade fundamental composicionalidade das setas Matemática Discreta para Ciência da Computação - P. Blauth Menezes 104
Categoria Objetos Setas Composição conjuntos e funções conjuntos funções (totais) composição de funções figuras figuras transform. de figuras construtor de transform. complexas um programa funcional tipos de dados operações construtor operações não-primitivas espaços vetoriais espaços vetoriais transforma. lineares composição de transformações lineares grafos grafos homomorfismo de grafos composição homomorfismo de grafos lógica proposições provas transitividade das provas uma máquina de estados conjuntos parcialmente ordenados um conjunto parcialmente ordenado estados transições construtor de computações conjuntos parcialmente ordenados elementos do conjunto funções monotônicas pares da relação de ordem parcial composição de funções monotônicas transitividade da relação de ordem parcial Matemática Discreta para Ciência da Computação - P. Blauth Menezes 105
Qq modificação sobre objetos, setas ou composição nova categoria Exp: Conjuntos e Funções Substituição das funções (totais) por funções parciais nova categoria conjuntos e funções parciais com diferentes propriedades produto cartesiano generalizado categorialmente diferente nas duas categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 106
Objeto, seta e composição não necessariamente possuem estruturas que lembrem as da Teoria dos Conjuntos Exp: Conjunto Parcialmente Ordenado como Categoria 0 0 1 1 2 2 0 1 1 2 0 1 2 (0 2) = (1 2) (0 1) objetos - não possuem qualquer estrutura (elementos de conjunto) setas - pares de elementos composição - transitividade da relação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 107
Uma mesma estrutura, simultaneamente pode constituir uma categoria por si só conj. parcialmente ordenado como categoria ou ser objeto de uma categoria categoria dos conj. parcialmente ordenados (conjuntos parcialmente ordenados e funções monotônicas) Exp: Categoria dos Conjuntos Parcialmente Ordenados pode ser vista como uma categoria de categorias uma categoria cujos objetos são conjuntos parcialmente ordenados vistos como categorias Matemática Discreta para Ciência da Computação - P. Blauth Menezes 108
Teoria das Categorias e Ciência da Computação possuem muito em comum são enriquecidas mutuamente a partir de visões e abordagens de um campo sobre o outro Matemática Discreta para Ciência da Computação - P. Blauth Menezes 109
Entre as características que motivam o seu uso destaca-se a expressividade de suas construções observado nas Diretrizes Curriculares do MEC para Cursos de Computação e Informática Teoria das Categorias possui construções cujo poder de expressão não possui, em geral, paralelo em outras teorias. Esta expressividade permite formalizar idéias mais complexas de forma mais simples, bem como propicia um novo ou melhor entendimento das questões relacionadas com toda a Ciência da Computação. Como Teoria das Categorias é uma ferramenta nova, para exemplificar, vale a pena estabelecer um paralelo com a linguagem Pascal: Teoria das Categorias está para a Teoria dos Conjuntos assim como Pascal está para a linguagens Assembler. Matemática Discreta para Ciência da Computação - P. Blauth Menezes 110
Apenas o conceito de categoria (como álgebra) é apresentado estudo de suas propriedades e aplicações não é objetivo desta disciplina Categoria é basicamente um grafo eventualmente grande arcos são componíveis, formando caminhos cada nodo possui um endoarco especial: identidade Matemática Discreta para Ciência da Computação - P. Blauth Menezes 111
Def: Categoria Uma álgebra polissortida ObC - coleção de Objetos C = ObC, MorC, orig, dest, ι, o MorC - coleção de Morfismos ou Setas orig: MorC ObC e dest: MorC ObC operações fechadas e totais Origem e Destino um morfismo f tal que orig(f) = A e dest(f) = B é denotado por f: A B Matemática Discreta para Ciência da Computação - P. Blauth Menezes 112
o: (MorC ) 2 MorC - operação Composição cada par de morfismos f: A B, g: B C é associado a um morfismo g o f: A C deve satisfazer a propriedade associativa (h o g) o f = h o (g o f) ι: ObC MorC - operação Identidade cada objeto A é associado a um morfismo ι A : A A deve satisfazer a propriedade da identidade (suponha f: A B) f o ι A = ι B o f = f Matemática Discreta para Ciência da Computação - P. Blauth Menezes 113
Exp: Categoria Set Set = ObSet, MorSet, orig, dest, ι, o ObSet - coleção de todos os conjuntos MorSet - coleção de todas as funções (totais) orig: MorSet ObSet e dest: MorSet ObSet para qualquer função f com domínio em A e codomínio em B, orig(f) = A e dest(f) = B o: (MorSet ) 2 MorSet operação de composição de funções (é associativa) ι: ObSet MorSet - operação identidade cada conjunto A é associado à função identidade id A : A A ι A = id A Matemática Discreta para Ciência da Computação - P. Blauth Menezes 114
Exp: Categoria Mon objetos: todos os monóides morfismos: todos os homomorfismos de monóides composição: composição de homomorfismos de monóides identidade: dada pelo homomorfismo identidade de cada monóide Análogamente, as categorias grupóides e correspondentes homomorfismos semigrupos e corrrespondentes homomorfismos grupos e corrrespondentes homomorfismos Matemática Discreta para Ciência da Computação - P. Blauth Menezes 115
Exp: Categoria Gr objetos: todos os grafos morfismos: todos os homomorfismos de grafos composição: composição de homomorfismos de grafos identidade: dada pelo homomorfismo identidade de cada grafo Matemática Discreta para Ciência da Computação - P. Blauth Menezes 116
Exp: As "Menores" Categorias Categoria Vazia (justifique cada componente),,,,, Categoria 1 um objeto e um morfismo (identidade desse objeto) Categoria 1+1 dois objetos e dois morfismos (identidade) Categoria 2 dois objetos e três morfismos (sendo dois identidade) 1 1+1 2 A A B A B Matemática Discreta para Ciência da Computação - P. Blauth Menezes 117
EXEMPLO Categoria Três Porquinhos e o Lobo Mau 3 porquinhos P 1, P 2 e P 3, o lobo mau L e os morfismos persegue com origem no lobo mau e destino em cada um dos porquinhos, além dos morfismos identidade "outra atividade qualquer" Matemática Discreta para Ciência da Computação - P. Blauth Menezes 118
Matemática Discreta para Ciência da Computação P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Lógica e Técnicas de Demonstração 3 Álgebra de Conjuntos 4 Relações 5 Funções Parciais e Totais 6 Endorrelações, Ordenação e Equivalência 7 Cardinalidade de Conjuntos 8 Indução e Recursão 9 Álgebras e Homomorfismos 10 Reticulados e Álgebra Booleana 11 Conclusões Matemática Discreta para Ciência da Computação - P. Blauth Menezes 119
Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes 120