Matemática Discreta para Ciência da Computação

Documentos relacionados
MDI0001 Matemática Discreta Aula 04 Álgebra de Conjuntos

Matemática Discreta para Computação e Informática

Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação

Universidade Federal do Pampa - UNIPAMPA

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

Matemática Discreta para Ciência da Computação

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes

LFA. Provas formais; Indução; Sintaxe e Semântica Teoria dos Conjuntos

1 introdução e conceitos básicos

IBM1088 Linguagens Formais e Teoria da Computação

Teoria Ingênua dos Conjuntos (naive set theory)

MATEMÁTICA DISCRETA CONCEITOS PRELIMINARES

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Matemática para Ciência de Computadores

Teoria dos Conjuntos MATEMÁTICA DISCRETA CONCEITOS PRELIMINARES. Fundamentos de Lógica Técnicas Elementares de Prova A NOÇÃO DE CONJUNTO

I.2 Introdução a Teoria da Computação

ÁLGEBRA DE BOOLE B.1 - DIAGRAMA DE VENN

Teoria da Computação Aula 02 Introdução

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Linguagens Formais e Autômatos P. Blauth Menezes

significa ( x)[(x S P (x)) (P (x) x S)]

1 TEORIA DOS CONJUNTOS

Matemática Discreta - 07

Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos

Linguagens Formais e Autômatos P. Blauth Menezes

Matemática Discreta - 07

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22

Aula1 Noções de matemática Discreta Técnicas de Demonstração. Prof. Dr. Ricardo Luis de Azevedo da Rocha

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Teoria da Computação Aula 01 Revisão de Conjuntos

Modelos de Computação

Matemática Discreta para Computação e Informática

Capítulo 1: Alfabetos, cadeias, linguagens

Matemática Discreta - 01

1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?

Problema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo?

Já falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas.

Linguagens Formais e Autômatos P. Blauth Menezes

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Linguagens Formais e Autômatos

Máquinas de Turing - Computabilidade

Aplicações da teoria de conjuntos álgebra booleana. Pontifícia Universidade Católica de Goiás Msc. Gustavo Siqueira Vinhal 2016/1

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Prof. Jorge Cavalcanti

Linguagens Regulares. Prof. Daniel Oliveira

IBM1088 Linguagens Formais e Teoria da

Linguagens Formais e Problemas de Decisão

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Capítulo 1. Os Números. 1.1 Notação. 1.2 Números naturais não nulos (inteiros positivos) Última atualização em setembro de 2017 por Sadao Massago

Curso de Matemática Aplicada.

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Centro de Informática UFPE

Curso: Ciência da Computação Disciplina: Matemática Discreta 3. CONJUNTOS. Prof.: Marcelo Maraschin de Souza

Alfabeto, Cadeias, Operações e Linguagens

Lógica e Matemática Discreta

Pontifícia Universidade Católica do Rio Grande do Sul

2019/01. Estruturas Básicas: Conjuntos, Funções, Sequências, e Somatórios Área de Teoria DCC/UFMG /01 1 / 76

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Universidade do Estado de Santa Catarina - UDESC Centro de Ciências Tecnológicas - CCT Licenciatura em Matemática

Resolução Exe 2.12 Monolítico Recursivo

Demonstrações. Terminologia Métodos

Álgebra Linear e Geometria Analítica

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

complemento para a disciplina de Matemática Discreta versão 1 - Jerônimo C. Pellegrini Relações de Equivalência e de Ordem

Instituto de Matemática e Estatística, UFF Setembro de 2013

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)

Teoria Elementar dos Conjuntos

Universidade de Caxias do Sul Centro de Ciências Exatas e Tecnologia Departamento de Informática. Matemática Discreta. Márcia Rodrigues Notare

Linguagem (formal) de alfabeto Σ

LÓGICA I ANDRÉ PONTES

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

Teoria Elementar dos Conjuntos

LINGUAGENS FORMAIS E AUTÔMATOS

n. 25 DIAGRAMAS DE VENN

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

S. C. Coutinho. Máquina de Turing Universal p. 1/22

Exemplo preliminar. Considere a linguagem dos Palíndromos Lpal:

Notas de aula de MAC0329 Álgebra Booleana e Aplicações

1 Operações com conjuntos

Teoria da Computação. Computabilidade e complexidade computacional

Capítulo 2: Procedimentos e algoritmos

MATEMÁTICA. Aula 2 Teoria dos Conjuntos. Prof. Anderson

Lógica Proposicional e Álgebra de Boole

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Linguagens Formais e Autômatos P. Blauth Menezes

Faculdade de Computação

Revisões de Conjuntos

Seja S = {2, 5, 17, 27}. Quais da sentenças a seguir são verdadeiras? 3. Quantos conjuntos diferentes são descritos abaixo? Quais são eles?

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1

Gramática. Gramática. Gramática

Transcrição:

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

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.4 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 3

3.1 Introdução Á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 exemplo: 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 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 4

De certa forma, toda a CC é construída sobre álgebras Álgebra: denominação alternativa para a Matemática Discreta Diretrizes Curriculares do MEC para Computação e Informática Conceito de Álgebra é introduzido adiante informalmente: operações definidas sobre um conjunto Álgebra de Conjuntos: operações definidas sobre todos os conjunto Desejável para o estudo da Álgebra de Conjuntos Diagramas de Venn: representação diagramática auxilia o entendimento dos conceitos e raciocínios Paradoxo de Russell: importante! Matemática Discreta para Ciência da Computação - P. Blauth Menezes 5

Operações sobre conjuntos Não-Reversíveis: mais usuais União Intersecção Reversíveis: especialmente importantes para CC Complemento Conjunto das Partes Produto Cartesiano União Disjunta Matemática Discreta para Ciência da Computação - P. Blauth Menezes 6

Obs: Lógica Álgebra dos Conjuntos Relação direta entre conetivos lógicos e operações sobre conjuntos facilita muito o estudo da Álgebra de Conjuntos Conetivo Lógico Operação sobre Conjuntos negação complemento disjunção união conjunção intersecção Relação Lógica Relação sobre Conjuntos implicação continência equivalência igualdade Matemática Discreta para Ciência da Computação - P. Blauth Menezes 7

Propriedades sobre os conetivos são válidas na Teoria dos Conjuntos substituindo cada conetivo pela correspondente operação sobre conjuntos exemplo idempotência do e do (da e da ) comutatividade do e do (da e da ) associatividade do e do (da e da ) distributividade do sobre o (da sobre a ) e vice-versa dupla negação (duplo complemento) DeMorgan Pode-se intuir que provas na Teoria dos Conjuntos são, em grande parte, baseadas em resultados da lógica Matemática Discreta para Ciência da Computação - P. Blauth Menezes 8

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.5 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 9

3.2 Diagramas de Venn Linguagem diagramática auxilia o entendimento de definições facilita o desenvolvimento de raciocínios permite identificação e compreensão fácil e rápida dos componentes e relacionamentos Diagramas de Venn universalmente conhecidos e largamente usados usam figuras geométricas, em geral representadas no plano Matemática Discreta para Ciência da Computação - P. Blauth Menezes 10

Exp: Diagramas de Venn um dado conjunto A um determinado elemento b B o conjunto C = { 1, 2, 3 } A B C b 1 2 3 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 11

Exp: Diagramas de Venn { a, b } { a, b, c } A B para um dado conjunto universo U, um conjunto C U a b A B C U c Em geral U é representado por um retângulo demais conjuntos por círculos, elipses, etc emc U, o conjunto C é destacado, para auxiliar visualmente Matemática Discreta para Ciência da Computação - P. Blauth Menezes 12

Exp: Aplicação dos Diagramas de Venn Considere que A B C pode-se intuir que a noção de subconjunto é transitiva, ou seja A B B C A C Teorema: Transitividade da Continência Suponha A, B e C conjuntos. Se A B e B C, então A C Matemática Discreta para Ciência da Computação - P. Blauth Menezes 13

Prova: (direta) (X Y sss todos os elementos de X também são de Y) Suponha que A, B e C são conjuntos qq e que A B e B C Seja a A. Então: a A a B a C pela definição de subconjunto, dado que A B pela definição de subconjunto, dado que B C Portanto, para qq a A, a C Logo, pela definição de subconjunto, A C como fica a demonstração se A for vazio? neste caso, não existe elemento a A Matemática Discreta para Ciência da Computação - P. Blauth Menezes 14

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.6 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 15

3.3 Paradoxo de Russell Conjunto coleção de zero ou mais elementos distintos os quais não possuem qualquer ordem associada Existem conjuntos de conjuntos. Então: um conjunto pode ser elemento de si mesmo? Def: Conjunto ordinário conjunto que não pertence a si mesmo Matemática Discreta para Ciência da Computação - P. Blauth Menezes 16

A definição S = { A A é um conjunto ordinário } conjunto de todos os conjuntos que não são elementos de si mesmos determina uma contradição Paradoxo de Russell Teorema: Paradoxo de Russell Não é conjunto S = { A A é um conjunto ordinário } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 17

Prova: (por absurdo) Negação da tese. Suponha que S é um conjunto Construção da contradição. S é um elemento de si mesmo? Caso 1. Suponha que S S S S pela definição de conj. ordinário S não é um conj. ordinário pela definição de S S S Caso 2. Suponha que S S S S pela definição de conj. ordinário S é um conj. ordinário pela definição de S S S Contradição!!! Logo, é absurdo supor que S é conjunto Portanto, S não é conjunto Matemática Discreta para Ciência da Computação - P. Blauth Menezes 18

Portanto, a notação por compreensão permite definir algo que não é um conjunto S seria um subconjunto do conjunto de todos os conjuntos como S não é conjunto ou seja: não existe o conjunto de todos os conjuntos nem toda coleção de elementos constitui um conjunto Como evitar o paradoxo (se desejado) restringir que a, em { a p(a) }, assuma valores em um dado A { a A p(a) } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 19

Importante conseqüência do Paradoxo de Russell definição de uma estrutura matemática sobre uma coleção de elementos. Estrutura Matemática Pequena Grande pequena, se a coleção de elementos é conjunto grande, se a coleção de elementos não é conjunto Álgebra de Conjuntos álgebra grande operações sobre a coleção (não-conjunto) de todos os conjuntos Matemática Discreta para Ciência da Computação - P. Blauth Menezes 20

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.7 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 21

3.4 Operações Não-Reversíveis As mais comuns nos estudos da Álgebra de Conjuntos 3.4.1 União A B Matemática Discreta para Ciência da Computação - P. Blauth Menezes 22

Def: União, Reunião A e B conjuntos A B A B = { x x A x B } Relacionando com a Lógica união corresponde à disjunção símbolo lembra símbolo Matemática Discreta para Ciência da Computação - P. Blauth Menezes 23

Exp: União Dígitos = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } Vogais = { a, e, i, o, u } Pares = { 0, 2, 4, 6, } Dígitos Vogais = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, e, i, o, u } Dígitos Pares = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, } Dígitos 1 3 5 7 9 0 2 4 6 8 a e i o u Vogais Dígitos 1 3 5 7 9 0 2 4 6 8 Pares 10 12 14 16... Matemática Discreta para Ciência da Computação - P. Blauth Menezes 24

Exp: União A = { x N x > 2 }, B = { x N x 2 = x } A B = { 0, 1, 3, 4, 5, 6, } R (reais ), Q (racionais) e I (irracionais) R Q = R R I = R Q I = R Conjunto universo U e A U = U A = U U = U U U = U Matemática Discreta para Ciência da Computação - P. Blauth Menezes 25

Propriedades da união Elemento Neutro (qual o elemento neutro da disjunção?) A = A = A (exercício) Idempotência A A = A (exercício) Comutatividade A B = B A (exercício) Associatividade A (B C) = (A B) C Matemática Discreta para Ciência da Computação - P. Blauth Menezes 26

Associatividade A (B C) = (A B) C A B A B A B C C C B C A B A (B C) = (A B) C Matemática Discreta para Ciência da Computação - P. Blauth Menezes 27

Teorema: Associatividade da União Suponha que A, B e C são conjuntos quaisquer. Então: Prova: (direta) (X = Y X Y e Y X) A (B C) = (A B) C Suponha que A, B e C são conjuntos quaisquer. Dois casos: A (B C) (A B) C caso 1 (A B) C A (B C) caso 2 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 28

Caso 1. Suponha x A (B C) x A (B C) x A x (B C) x A (x B x C) (x A x B) x C x (A B) x C x (A B) C pela definição união pela definição união pela associatividade do conetivo pela definição união pela definição união Portanto, A (B C) (A B) C Matemática Discreta para Ciência da Computação - P. Blauth Menezes 29

Caso 2. Suponha x (A B) C x (A B) C x (A B) x C (x A x B) x C x A (x B x C) x A x (B C) x A (B C) pela definição união pela definição união pela associatividade do conetivo pela definição união pela definição união Portanto, (A B) C A (B C) Logo, A (B C) = (A B) C Matemática Discreta para Ciência da Computação - P. Blauth Menezes 30

Significado da associatividade? não existe precedência entre operações de união parênteses podem ser omitidos A (B C) ou (A B) C pode ser denotado A B C Matemática Discreta para Ciência da Computação - P. Blauth Menezes 31

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.8 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 32

3.4.2 Intersecção A B Def: Intersecção A e B conjuntos A B A B = { x x A x B } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 33

Relacionando com a Lógica intersecção corresponde à conjunção símbolo lembra símbolo Conjuntos disjuntos conjuntos independentes ou conjuntos mutuamente exclusivos conjuntos A e B sendo ambos não-vazios A B = Matemática Discreta para Ciência da Computação - P. Blauth Menezes 34

Exp: Intersecção, Conjuntos Disjuntos Dígitos = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } Vogais = { a, e, i, o, u } Pares = { 0, 2, 4, 6, } Dígitos Vogais = conjuntos disjuntos Dígitos Pares = { 0, 2, 4, 6, 8 } Dígitos 1 3 5 7 9 0 2 4 6 8 a e i o u Vogais Dígitos 1 3 5 7 9 0 2 4 6 8 Pares 10 12 14 16... Matemática Discreta para Ciência da Computação - P. Blauth Menezes 35

Exp: Intersecção, Conjuntos Disjuntos A = { x N x > 2 }, B = { x N x 2 = x } A B = conjuntos disjuntos R (reais ), Q (racionais) e I (irracionais) R Q = Q R I = I Q I = conjuntos disjuntos Conjunto universo U e A U = U A = A U = U U = U Matemática Discreta para Ciência da Computação - P. Blauth Menezes 36

Propriedades da intersecção Elemento Neutro (qual o elemento neutro da conjunção?) A U = U A = A (exercício) Idempotência A A = A (exercício) Comutatividade A B = B A (exercício) Associatividade A (B C) = (A B) C (exercício) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 37

Propriedades da união e da intersecção Distributividade da intersecção sobre a união A (B C) = (A B) (A C) A B A B A B A B C C C C B C A B A C A (B C) = (A B) (A C) Distributividade da união sobre a intersecção A (B C) = (A B) (A C) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 38

Teorema: Distributividade da intersecção sobre a união Suponha que A, B e C são conjuntos quaisquer. Então: A (B C) = (A B) (A C) Prova: (direta) Suponha que A, B e C são conjuntos quaisquer. Então: x A (B C) pela definição de intersecção x A x (B C) pela definição de união x A (x B x C) pela distributividade do sobre o (x A x B) (x A x C) pela definição de intersecção x (A B) x (A C) pela definição de união x (A B) (A C) Logo, A (B C) = (A B) (A C) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 39

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.4 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 40

3.5 Operações Reversíveis Operação reversível a partir do resultado, pode-se recuperar os operando originais Importante em muitas aplicações na Computação e Informática Exp: Back Tracking (ilustrativo) Operação de débito e crédito em um terminal bancário automático composição de diversas pequenas operações componentes Queda de sistema (luz ) entre duas operações componentes sistema poderia ficar inconsistente exemplo: débito realizado, mas o crédito, não fundamental desfazer o que foi parcialmente feito recuperação facilitada quando a operação é reversível Matemática Discreta para Ciência da Computação - P. Blauth Menezes 41

Exp: Construção de Estruturas Complexas (ilustrativo) Construção de Estruturas Complexas. compondo estruturas elementares já conhecidas em geral, é desejável que uma alteração realizada em uma estrutura elementar seja refletida na estrutura composta possível se conhecido os elementos originais da estrutura informação facilitada quando a operação é reversível Matemática Discreta para Ciência da Computação - P. Blauth Menezes 42

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.4 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 43

3.5.1 Complemento U U A A ~A Def: Complemento Complemento de um conjunto A U A' ou ~A ~A = { x U x A } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 44

Relacionando com a Lógica complemento corresponde à negação símbolo ~ é um dos usados para a negação Exp: Complemento Dígitos = { 0, 1, 2,, 9 } conjunto universo e A = { 0, 1, 2 } ~A = { 3, 4, 5, 6, 7, 8, 9 } Dígitos Dígitos 3 4 9 5 0 1 2 6 8 7 3 4 9 5 0 1 2 6 8 7 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 45

Exp: Complemento N conjunto universo e A = { 0, 1, 2 } ~A = { x N x > 2 } Para qualquer conjunto universo U ~ = U ~U = R conjunto universo ~Q = I ~I = Q Matemática Discreta para Ciência da Computação - P. Blauth Menezes 46

Exp: Complemento, União e Intersecção U conjunto universo. Para qualquer A U A ~A = U A ~A = p p é tautologia p p é contradição Propriedade Duplo Complemento para qualquer A U ~~A = A relacionamento com lógica A: todos elementos x tais que x A ~A: todos elementos x tais que x A (x A) ~~A: todos elementos x tais que (x A) x A complemento é reversível: ~(~A) = A Matemática Discreta para Ciência da Computação - P. Blauth Menezes 47

Propriedade DeMorgan relacionada com o complemento envolve a união e a intersecção ~(A B) = ~A ~B (p q) p q ~(A B) = ~A ~B (p q) p q U U U U A B A B A B A B A B ~A ~B ~(A B) = ~A ~B Matemática Discreta para Ciência da Computação - P. Blauth Menezes 48

Essa propriedade permite concluir intersecção pode ser calculada em termos do complemento e união A B = ~(~A ~B) união pode ser calculada em termos do complemento e intersecção A B = ~(~A ~B) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 49

Diferença: derivada da intersecção e complemento A B Def: Diferença A e B conjuntos A - B A - B = A ~B = { x x A x B } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 50

Exp: Diferença Dígitos = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } Vogais = { a, e, i, o, u } Pares = { 0, 2, 4, 6, } Dígitos - Vogais = Dígitos Dígitos - Pares = { 1, 3, 5, 7,9 } Dígitos 1 3 5 7 9 0 2 4 6 8 a e i o u Vogais Dígitos 1 3 5 7 9 0 2 4 6 8 Pares 10 12 14 16... Matemática Discreta para Ciência da Computação - P. Blauth Menezes 51

Exp: Diferença A = { x N x > 2 } e B = { x N x 2 = x } A - B = { 3, 4, 5, 6, } B - A = { 0, 1 } R (reais ), Q (racionais) e I (irracionais) R - Q = I R - I = Q Q - I = Q Universo U e A U - = U - = U U - A = ~A U - U = Matemática Discreta para Ciência da Computação - P. Blauth Menezes 52

Por que a operação de diferença é não-reversível? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 53

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.4 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 54

3.5.2 Conjunto das Partes Para um conjunto A A A A Para qualquer elemento a A { a } A Seguindo o racionínio definição de uma operação unária Conjunto das Partes aplicada a um conjunto A resulta no conjunto de todos os subconjuntos de A Matemática Discreta para Ciência da Computação - P. Blauth Menezes 55

Def: Conjunto das Partes, Conjunto Potência A conjunto P(A) ou 2 A P(A) = { X X A } Exp: Conjunto das Partes A = { a }, B = { a, b } e C = { a, b, c } P( ) = { } P(A) = {, { a } } P(B) = {, { a }, { b }, { a, b } } P(C) = {, { a }, { b }, { c }, { a, b }, { a, c }, { b, c }, { a, b, c } } Quantos elementos tem P(X)? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 56

Exp: Conjunto das Partes D = { a,, { a, b } } P(D) = {, { a }, { }, { { a, b } }, { a, }, { a, { a, b } }, {, { a, b } }, { a,, { a, b } } } Quantos elementos tem P(X)? Número de elementos de P(X) número de elementos de X é n P(X) é 2 n justifica a notação 2 X prova por indução introduzida adiante Matemática Discreta para Ciência da Computação - P. Blauth Menezes 57

Reversabilidade de P(X)? uma solução: união de todos os conjuntos de P(X) como fica o cálculo da união se o número de elementos do conjunto das partes for infinito? não será discutido Exp: Reversabilidade do Conjunto das Partes Resultante: {, { a } } Operando: { a } = { a } Resultante: {, { a }, { b }, { a, b } } Operando: { a } { b } { a, b } = { a, b } Resultante: {, { a }, { b }, { c }, { a, b }, { a, c }, { b, c }, { a, b, c } } Operando: { a } { b } { c } { a, b } { a, c } { b, c } { a, b, c } = { a, b, c } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 58

Obs: Álgebra de Conjuntos Pequena Álgebra de Conjuntos é uma álgebra grande operações sobre a coleção (não-conjunto) de todos os conjuntos Se for desejado uma Álgebra de Conjuntos pequena?? definir sobre P(U) para cada U, uma álgebra diferente qq operando A é tal que A P(U) União, intersecção, diferença e complemento fechadas sobre P(U) Conjunto das partes não necessariamente é fechada sobre P(U) por quê? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 59

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.4 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 60

3.5.3 Produto Cartesiano Noção de seqüência finita necessária para definir produto cartesiano em particular, seqüência de dois elementos Seqüência de n componentes: n-upla ordenada n objetos (não necessariamente distintos) em uma ordem fixa 2-upla ordenada ou par ordenado n-upla ordenada x, y ou (x, y) x 1, x 2, x 3,,x n ou (x 1, x 2, x 3,,x n ) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 61

Não confundir x 1, x 2, x 3,,x n com { x 1, x 2, x 3,,x n } A ordem é importante Def: Produto Cartesiano x, y y, x A e B conjuntos A B A B = { a, b a A e b B } Produto cartesiano de A com ele mesmo A A = A 2 Matemática Discreta para Ciência da Computação - P. Blauth Menezes 62

Exp: Produto Cartesiano A = { a }, B = { a, b } e C = { 0, 1, 2 } A B = { a, a, a, b } B C = { a, 0, a, 1, a, 2, b, 0, b, 1, b, 2 } (não-comut.) C B = { 0, a, 0, b, 1, a, 1, b, 2, a, 2, b } A 2 = { a, a } B 2 = { a, a, a, b, b, a, b, b } A N = { a, 0, a, 1, a, 2, a, 3, } (A B) C = (não-associatividade) { a, a,0, a, a,1, a, a,2, a, b,0, a, b,1, a, b,2 } A (B C) = { a, a, 0, a, a, 1, a, a, 2, a, b, 0, a, b, 1, a, b, 2 } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 63

Conclusões Não-Comutatividade B C e C B são diferentes (B C) (C B) = Não-Associatividade (A B) C e A (B C) são diferentes disjuntos por quê? Exp: Produto Cartesiano A = { 0, 1, 2 } A = A = 2 = por quê? por quê? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 64

Distributividade do produto cartesiano sobre a união A (B C) = (A B) (A C) exercício Distributividade do produto cartesiano sobre a intersecção A (B C) = (A B) (A C) exercício Reversabilidade do produto cartesiano? como fazer? nem sempre é válida quando o produto cartesiano resulta no vazio por quê? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 65

Exp: Reversabilidade do Produto Cartesiano { a, a, a, b } Operandos: { a } e { a, b } { a, a, a, b, b, a, b, b } Operandos: { a, b } e { a, b } { a, 0, a, 1, a, 2, a, 3, } Operandos: { a } e N { a, a, 0, a, a, 1, a, a, 2, a, b, 0, a, b, 1, a, b, 2 } Operandos: { a, a, a, b } e { 0, 1, 2 } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 66

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.4 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 67

3.5.4 União Disjunta Pessoas da família Silva e Souza Silva = { João, Maria, José } Souza = { Pedro, Ana, José } Conjunto resultante da união Silva Souza = { João, Maria, Pedro, Ana, José } José ocorre uma única vez não reflete uma reunião familiar José Silva não é o mesmo José Souza Matemática Discreta para Ciência da Computação - P. Blauth Menezes 68

União disjunta distingue elementos com mesma identificação garante que não existem elementos em comum associa uma identificação do conjunto origem um tipo de sobrenome elemento, identificação do conjunto origem Def: União Disjunta A + B ou A B A + B = { a, A a A } { b, B b B } A + B = { a, 0 a A } { b, 1 b B } A + B = { a A a A } { b B b B } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 69

Diversas formas de denotar elementos de A + B importante é distinguir o conjunto originário Exp: União Disjunta Silva = { João, Maria, José } e Souza = { Pedro, Ana, José } Silva + Souza = { João, Silva, Maria, Silva, José, Silva, Pedro, Souza, Ana, Souza, José, Souza } D = { 0, 1, 2,, 9 }, V = { a, e, i, o, u } e P = { 0, 2, 4, 6, } D + V = { 0 D, 1 D, 2 D,, 9 D, a V, e V, i V, o V, u V } D + P = { 0 D, 1 D, 2 D,, 9 D, 0 P, 2 P, 4 P, 6 P, } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 70

Exp: União Disjunta A = { x N x > 2 } e B = { x N x 2 = x } A + B = { 0 B, 1 B, 3 A, 4 A, 5 A, 6 A, } A = { a, b, c } + = A + = { a, A, b, A, c, A } A + A = { a, 0, b, 0, c, 0, a, 1, b, 1, c, 1 } Reversabilidade da união disjunta? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 71

Exp: Reversabilidade da União Disjunta { 0 D, 1 D, 2 D,, 9 D, a V, e V, i V, o V, u V } Operandos: { 0, 1, 2,, 9 } e { a, e, i, o, u } { 0 D, 1 D, 2 D,, 9 D, 0 N, 1 N, 2 N, 3 N } Operandos: { 0, 1, 2,, 9 } e N Operandos: e { a, 0, b, 0 } Operandos: { a, b } e { a, 0, b, 0, a, 1, b, 1, c, 1 } Operandos: { a, b } e { a, b, c } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 72

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.4 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 73

3.6 Relação entre Lógica e Álgebra de Conjuntos Propriedade Lógica Teoria dos Conjuntos Idemp Comut Associat p p p p p p p q q p p q q p p (q r) (p q) r p (q r) (p q) r A A = A A A = A A B = B A A B = B A A (B C) = (A B) C A (B C) = (A B) C Matemática Discreta para Ciência da Computação - P. Blauth Menezes 74

Propriedade Lógica Teoria dos Conjuntos Distrib Negação/ Compl p (q r) (p q) (p r) p (q r) (p q) (p r) p p p p F p p V DeMorgan (p q) p q (p q) p q A (B C) = (A B) (A C) A (B C) = (A B) (A C) ~~A = A A ~A = A ~A = U ~(A B) = ~A ~B ~(A B) = ~A ~B Matemática Discreta para Ciência da Computação - P. Blauth Menezes 75

Propriedade Lógica Teoria dos Conjuntos Elemento Neutro p V p p F p A U = A A = A Elemento Absorvente p F F p V V A = A U = U Matemática Discreta para Ciência da Computação - P. Blauth Menezes 76

Importante exercício proposto no Capítulo 2 qq dos conetivos,,, e pode ser expresso usando somente e importante em diversas aplicações da Computação e Informática exemplo: Técnicas Digitais mesmo resultado vale para a Álgebra de Conjuntos usando somente ~ e exercício: como e podem ser expressos na Álgebra de Conjuntos? Matemática Discreta para Ciência da Computação - P. Blauth Menezes 77

Relações Lógicas Relações sobre Conjuntos Relação Lógica Teoria dos Conjuntos Implicação/Continência p p A B Equivalência/Igualdade p q A = B Matemática Discreta para Ciência da Computação - P. Blauth Menezes 78

Como visto no Capítulo 2 p(x) é uma proposição p tq descreve alguma propriedade de x U Lógica Teoria dos Conjuntos A = { x p(x) } e B = { x q(x) } A B se e somente se ( x U) (p(x) q(x)) A = B se e somente se ( x U) (p(x) q(x)) exemplo A = U se e somente se ( x U) (p(x) V) A = se e somente se ( x U) (p(x) F) continência igualdade universo vazio Justifica o fato de que qq continência ou igualdade decorrência de alguma implicação ou igualdade Matemática Discreta para Ciência da Computação - P. Blauth Menezes 79

Correlação entre Lógica e Álgebra de Conjuntos não é casual ambas são um caso particular de uma álgebra abstrata denominada Álgebra de Boole vista adiante Matemática Discreta para Ciência da Computação - P. Blauth Menezes 80

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.4 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 81

3.7 Álgebra de Conjuntos nas Linguagens de Programação Já discutido: nem toda linguagem de programação possui boas facilidades para tratar conjuntos Pascal (lembrando) tipos de dados baseados em conjuntos finitos variáveis conjuntos sobre estes tipos de dados constantes conjuntos (também finitos) Pascal: operações não-reversíveis sobre conjuntos: união: + intersecção: * diferença: - Matemática Discreta para Ciência da Computação - P. Blauth Menezes 82

Exp: Trechos de Programas em Pascal Suponha o tipo de dados dias_semana = set of (seg, ter, qua, qui, sex, sab, dom) variáveis feriado, trabalho, feriado_trabalho, úteis, parados: dias_semana trechos de programas feriado := [qua, sab] trabalho := [seg,, sex] Matemática Discreta para Ciência da Computação - P. Blauth Menezes 83

Os trechos de programas em Pascal feriado_trabalho := trabalho * feriado úteis := trabalho feriado parado := [sab, dom] + feriado correspondem, na Teoria dos Conjuntos feriado_trabalho = trabalho feriado { qua } úteis = trabalho feriado { seg, ter, qui, sex } parado = { sab, dom } feriado { qua, sab, dom } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 84

Exp: Programa Completo em Pascal Programa capaz de ler uma linha de texto e determinar o número de vogais consoantes outros símbolos total de caracteres lidos Matemática Discreta para Ciência da Computação - P. Blauth Menezes 85

program numero_caracteres(input, output); type alfabeto = set of a.. z ; var n_vogais, n_consoantes, n_outros, total: integer; vogais, consoantes: alfabeto; caractere: char; begin vogais := [ a, e, i, o, u ]; consoantes := [ a.. z ] vogais; n_vogais := 0; n_consoantes := 0; n_outros := 0; read(caractere); Matemática Discreta para Ciência da Computação - P. Blauth Menezes 86

while not eoln do begin if caractere in vogais then n_vogais := n_vogais + 1 else if caractere in consoantes then n_consoantes := n_consoantes + 1 else n_outros := n_outros + 1; read(caractere) end; total := n_vogais + n_consoantes + n_outros; writeln( vogais =, n_vogais); writeln( consoantes:, n_consoantes); writeln( outros símbolos:, n_outros); writeln( total de símbolos:, total) end. Matemática Discreta para Ciência da Computação - P. Blauth Menezes 87

Construções similares a do produto cartesiano reversíveis arranjos (arrays) registros (records) abordagem mais adequada quando do estudo do conceito de função Matemática Discreta para Ciência da Computação - P. Blauth Menezes 88

3 Álgebra de Conjuntos 3.1 Introdução 3.2 Diagramas de Venn 3.3 Paradoxo de Russell 3.4 Operações Não-Reversíveis 3.4.1 União 3.4.2 Intersecção 3.5 Operações Reversíveis 3.5.1 Complemento 3.5.2 Conjunto das Partes 3.5.3 Produto Cartesiano 3.5.4 União Disjunta 3.6 Relação entre Lógica e Álgebra de Conjuntos 3.7 Álgebra de Conj. nas Linguagens de Programação 3.8 Álgebra de Conj. e Teoria da Computação Matemática Discreta para Ciência da Computação - P. Blauth Menezes 89

3.8 Álgebra de Conjuntos e Teoria da Computação Álgebra de Conjuntos fundamental no estudo da Teoria da Computação Teoria da Computação meios para correta aplicação e entendimento dos conceitos de algoritmo computabilidade conseqüentemente, do que é solucionável em um computador conceitos mínimos que qq estudante necessita saber Matemática Discreta para Ciência da Computação - P. Blauth Menezes 90

Lembre-se: linguagem (formal) L sobre alfabeto L * Complemento da linguagem L ~L = { x * x L } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 91

Exp: Complemento de Linguagens Linguagens sobre = { a, b } L 1 = { ε } L 2 = { a }* = { ε, a, aa, aaa, } Palíndromos = { ε, a, b, aa, bb, aaa, aba, bab, bbb, aaaa, } Complementos das linguagens ~L 1 = { a, b, aa, ab, ba, bb, aaa, } ~L 2 = { b, ab, ba, bb, aab, aba, baa, abb, bab, bba, bbb, } ~Palíndromos = { x * x Palíndromos } Matemática Discreta para Ciência da Computação - P. Blauth Menezes 92

Obs: Reconhecimento de Linguagens Complemento Lembre-se: compilador é um software traduz um programa escrito na linguagem de programação para um código executável no sistema computador. estruturado em análise e síntese análise é responsável pelo reconhecimento da linguagem verifica se um programa p válido para a linguagem L p L se p L, passa para a síntese se p L, alertar o programador (correção do programa!) portanto, a análise de um compilador verifica se p L ou p ~L Matemática Discreta para Ciência da Computação - P. Blauth Menezes 93

Obs: Hierarquia de Linguagens e Problema da Parada Importante assunto da Teoria da Computação limites do que é possível computar em um computador Capítulo 2 Lógica e Técnicas de Demonstração Máquina de Turing: formalização do conceito de algoritmo Limite do que é possível reconhecer existe uma Máquina de Turing que reconhece Matemática Discreta para Ciência da Computação - P. Blauth Menezes 94

Nesse contexto: linguagens são agrupadas em classes hierarquia (continência própria) Universo de Todas as Linguagens Linguagens Enumeráveis Recursivamente (existe um algoritmo capaz de responder "pertence") Linguagens Recursivas (existe um algoritmo capaz de responder "pertence" ou "não pertence") Matemática Discreta para Ciência da Computação - P. Blauth Menezes 95

Linguagens Recursivas existe um algoritmo (Máquina de Turing) que sempre pára capaz de determinar se p L ou p ~L p MT(L) Matemática Discreta para Ciência da Computação - P. Blauth Menezes 96

Linguagens Enumeráveis Recursivamente existe um algoritmo (Máquina de Turing) capaz de determinar se p L entretanto, se p ~L, o algoritmo pode parar identificando que p ~L ficar em loop infinito p MT(L) ou LOOP Matemática Discreta para Ciência da Computação - P. Blauth Menezes 97

Contradiz a intuição pois estabelece que reconhecer o complemento de uma linguagem pode ser impossível, mesmo que seja possível reconhecer a linguagem Linguagens Não-Computáveis não existe algoritmo (Máquina de Turing) capaz de determinar se p L ou p ~L Problema da Parada se qq Máquina de Turing pára determinando se p L ou p ~L não tem solução computacional baseado nesse resultado prova-se inúmeros problemas não possuem solução computacional inclui muitos problemas interessantes e importantes para CC Matemática Discreta para Ciência da Computação - P. Blauth Menezes 98

Teorema: Complemento de Ling. Recursiva é Recursiva Se L sobre é recursiva, então ~L também é recursiva Prova: (direta) Suponha L linguagem recursiva sobre Então existe Máquina de Turing MT(L) que aceita L e sempre pára Inverte MT'(L) Inverte p MT(L) Portanto, o complemento de uma linguagem recursiva é recursiva Matemática Discreta para Ciência da Computação - P. Blauth Menezes 99

Teorema: Intersecção de Ling. Recursivas é Recursiva Se L 1 e L 2 sobre são recursivas, então L 1 L 2 também é recursiva Prova: (direta) Suponha L 1 e L 2 linguagens recursivas sobre Então existem Máquinas de Turing MT(L 1 ) e MT(L 2 ) tq aceitam L 1 e L 2 e sempre param MT(L 1 L 2 ) p MT(L 1 ) MT(L 2 ) Portanto, a intersecção de duas linguagens recursivas é recursiva Matemática Discreta para Ciência da Computação - P. Blauth Menezes 100

Outros resultados (exercícios) união de duas linguagens recursivas é recursiva complemento de uma linguagem enumerável recursivamente não necessariamente é enumerável recursivamente uma linguagem é recursiva sss a linguagem e seu complemento são enumeráveis recursivamente Matemática Discreta para Ciência da Computação - P. Blauth Menezes 101

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 102

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 103