Revisão de Matemática Discreta

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

MATEMÁTICA DISCRETA CONCEITOS PRELIMINARES

Teoria Elementar dos Conjuntos

Teoria Elementar dos Conjuntos

Matemática Discreta - 07

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

Linguagens e Máquinas: Uma Introdução aos Fundamentos da Computação

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

Lógica. Fernando Fontes. Universidade do Minho. Fernando Fontes (Universidade do Minho) Lógica 1 / 65

Matemática Discreta - 07

Centro de Informática UFPE

Relações Binárias, Aplicações e Operações

Matemática Discreta Parte 11

1 Operações com conjuntos

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

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 2. Conceitos Básicos da Teoria da Computação

Capítulo 0: Conjuntos, funções, relações

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

Referências e materiais complementares desse tópico

Capítulo 2. Conjuntos Infinitos. 2.1 Existem diferentes tipos de infinito

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

Contando o Infinito: os Números Cardinais

MD Lógica de Proposições Quantificadas Cálculo de Predicados 1

Matemática I. 1 Propriedades dos números reais

MDI0001 Matemática Discreta Aula 04 Álgebra de Conjuntos

Capítulo 2. Conjuntos Infinitos. 2.1 Existem diferentes tipos de infinito

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

Teoria Ingênua dos Conjuntos (naive set theory)

Unidade II. A notação de que a proposição P (p, q, r,...) implica a proposição Q (p, q, r,...) por:

A ordem em que os elementos se apresentam em um conjunto não é levada em consideração. Há

Aula 1: Introdução ao curso

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Pato Branco ENGENHARIA DE COMPUTAÇÃO. Prova Parcial 1 Matemática Discreta para Computação

Para Computação. Aula de Monitoria - Miniprova

Teoria intuitiva de conjuntos

Capítulo 2. Conjuntos Infinitos

Teoria da Computação

n. 25 DIAGRAMAS DE VENN

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

Cálculo proposicional

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

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Soluções dos Exercícios Propostos no Livro. Introdução aos Fundamentos da Computação: Linguagens e Máquinas (Ed. Thomson, 2006)

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

Conceitos Preliminares

Introdução à Lógica Matemática

A2. Cada operação é distributiva sobre a outra, isto é, para todo x, y e z em A, x (y + z) = (x y) + (x z) e x + (y z) = (x + y) (x + z)

Notas de Aula de Fundamentos de Matemática

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

3.4 Álgebra booleana, ordens parciais e reticulados

Lógica e Matemática Discreta

Matemática Discreta - Departamento de Matemática - EST-IPV / III

Lógica Texto 7. Texto 7. 1 Negação de enunciados atômicos Exercício resolvido Negação de enunciados moleculares 5

Aulas 10 e 11 / 18 e 20 de abril

Análise I Solução da 1ª Lista de Exercícios

Definição: Todo objeto parte de um conjunto é denominado elemento.

Tópicos de Matemática. Teoria elementar de conjuntos

1 TEORIA DOS CONJUNTOS

Funções. Funções. Cardinalidade de conjuntos. Discrete Mathematics with Graph Theory Edgar Goodaire e Michael Parmenter, 3rd ed 2006.

Linguagem Básica de Conjuntos

Aula 1 Aula 2. Ana Carolina Boero. Página:

4.1 Preliminares. No exemplo acima: Dom(R 1 ) = e Im(R 1 ) = Dom(R 2 ) = e Im(R 2 ) = Dom(R 3 ) = e Im(R 3 ) = Diagrama de Venn

SMA Elementos de Matemática Notas de Aulas. Ires Dias - Sandra Maria Semensato de Godoy

Cálculo Diferencial e Integral I

NHI Lógica Básica (Lógica Clássica de Primeira Ordem)

INE0003 FUNDAMENTOS DE MATEMÁTICA DISCRETA

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

Universidade Federal do ABC Centro de Matemática, Computação e Cognição Análise na Reta (2017) Curso de Verão

Os Fundamentos: Lógica de Predicados

Funções, Seqüências, Cardinalidade

Funções - Terceira Lista de Exercícios

Matemática para Ciência de Computadores

Axiomas de corpo ordenado

Relações. George Darmiton da Cunha Cavalcanti CIn - UFPE

1) Seja o conjunto A = (0;1). Quantas relações binárias distintas podem ser definidas sobre o conjunto A?

Semana 2. Primitivas. Conjunto das partes. Produto cartesiano. 1 Teoria ingênua dos conjuntos. 2 Axiomática ZFC de conjuntos. 4 Conjuntos numéricos

Fundamentos de Álgebra Moderna Profª Ana Paula CONJUNTOS

Axioma dos inteiros. Sadao Massago

Conjuntos, cap. 4 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani

Lógica Matemática - Quantificadores

Aula 1 Aula 2 Aula 3. Ana Carolina Boero. Página:

Semana 3 MCTB J Donadelli. 1 Técnicas de provas. Demonstração indireta de implicação. indireta de. Demonstração por vacuidade e trivial

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?

Lógica Proposicional Parte 2

Universidade Federal do Pampa - UNIPAMPA

Fundamentos 1. Lógica de Predicados

INE Fundamentos de Matemática Discreta para a Computação

A Linguagem dos Teoremas - Parte II. Tópicos Adicionais. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antônio Caminha Muniz Neto

Lógica Formal. Matemática Discreta. Prof Marcelo Maraschin de Souza

Matemática Básica Relações / Funções

Terminologia, Técnicas de Prova, Enumerabilidade

Capítulo 1. Conjuntos e Relações. 1.1 Noção intuitiva de conjuntos. Notação dos conjuntos

O espaço das Ordens de um Corpo

4 AULA. Regras de Inferência e Regras de Equivalência LIVRO. META: Introduzir algumas regras de inferência e algumas regras de equivalência.

Capítulo 1. Conjuntos, Relações, Funções

SMA0341 e SLC Elementos de Matemática Notas de Aulas

Aula 1 Conjuntos. Meta. Introduzir as noções básicas de conjunto e produto cartesiano de. conjuntos. Objetivos

Uma proposição é uma frase que pode ser apenas verdadeira ou falsa. Exemplos:

Lista 1. 9 Se 0 < x < y e n N então 0 < x n < y n.

Transcrição:

Apêndice A Revisão de Matemática Discreta Neste apêndice serão revisados, de forma sucinta, os conceitos matemáticos necessários para o entendimento do assunto tratado neste texto. Inicialmente, na Seção A.1, serão revisados superficialmente os principais conceitos da lógica de predicados, culminando com a apresentação de algumas técnicas de prova que devem ser assimiladas, não apenas por aqueles que devem ser capazes de provar teoremas, mas também por aqueles que devem ter a capacidade de ler e entender uma prova. As noções básicas que, juntamente com a lógica de predicados, constituem o alicerce da matemática discreta, em geral, e dos fundamentos da computação em particular, ou seja, as noções de conjuntos, relações e funções, serão introduzidas nas Seções A.2, A.3 e A.4. O conceito de conjunto enumerável, que servirá como base para uma primeira argumentação com relação à existência de funções não computáveis, será visto na Seção A.5. Ferramentas importantes para quem trabalha com conjuntos enumeráveis, o conceito de definição recursiva e a técnica de prova por indução matemática serão apresentados em seguida, nas Seções A.6 e A.7. Os grafos, estruturas matemáticas úteis para a modelagem de problemas reais ou abstratos, que permeiam todas as áreas da computação, tanto do ponto de vista teórico quanto do prático, serão introduzidos na Seção A.8. A.1 Prova de Teoremas O objetivo de quem escreve uma prova é mostrar, sem deixar margens a dúvidas, que determinada afirmativa é verdadeira. Uma prova pode ser mais ou menos formal e mais ou menos concisa, dependendo do tipo de leitor para o qual a ela é construída. Assim, por exemplo, se a prova deve ser verificada por programa de computador, ela deve ser absolutamente formal. Para isso, deve explicitar todas as hipóteses nas quais se baseia, bem como todos os passos de inferência utilizados, de forma que possa ser verificada mecanicamente. Com isso, a prova é, em geral, muito grande e bastante ilegível. Entretanto, se a prova for produzida para ser lida apenas por especialistas em determinado assunto, ela pode ser bem concisa, fazendo referência a resultados conhecidos pelos especialistas, sem prová-los de novo. Nesse caso, a prova é informal, o que não 275

276 Editora Thomson Introdução aos fundamentos da computação significa que não seja escrita em um estilo que assegure certo rigor e relativa clareza. Entre os dois extremos apontados anteriormente, existem as provas que buscam convencer as pessoas que não são especialistas no assunto de que trata o resultado. Dessa forma, a prova também não é formal, porém é mais prolixa, abordando aspectos que o não-especialista não apreende com facilidade. Em síntese, quando se escreve uma prova para as pessoas lerem, ela deve ser informal, e seu estilo e nível de detalhes devem depender da audiência intencionada. Geralmente, a prova é expressa utilizando-se uma língua natural (português, no nosso caso), intercalada com algum formalismo matemático. Mas o vocabulário empregado normalmente é bastante limitado, com o objetivo de evitar ambiguidades. Em particular, existem certas palavras e expressões que ocorrem com frequência e que têm um significado-padrão, intimamente relacionado com a própria conceituação de prova, como se... então, contradição, portanto etc. Além de conter um vocabulário limitado, com determinados termos tendo um significado bem definido, uma prova é estruturada segundo uma ou mais técnicas básicas de prova. A seguir, será feito um apanhado conciso da terminologia envolvida na prova de teoremas e serão apresentadas as principais técnicas básicas de prova. Entre os termos utilizados em provas, destacam-se aqueles para os conectivos lógicos: negação:, não; conjunção:, e; disjunção:, ou; condicional:, se...então; bicondicional:, se, e somente se; quantificador universal:, para todo; quantificador existencial:, existe. Para cada conectivo, estão mostradas duas notações. A primeira é a mais utilizada nos textos de lógica matemática modernos. A segunda consta de expressões em português que denotam os mesmos conectivos. A primeira notação será utilizada em grande parte desta seção, favorecendo concisão e clareza da apresentação. No restante do livro, serão mais utilizadas as expressões em português, como é mais usual. Os significados dos cinco primeiros conectivos podem ser dados pelas denominadas tabelas da verdade mostradas na Figura A.1. Nessas tabelas, α e β representam afirmativas quaisquer, e cada uma dessas afirmativas pode ser verdadeira (V) ou falsa (F), ou seja, os valores-verdade para α e β podem ser V ou F. Para todas as combinações possíveis de V e F para α e β, cada tabela apresenta o valor resultante da composição de acordo com um conectivo. Exemplo 123 Sejam as seguintes afirmativas:

Newton José Vieira Capítulo 2: Máquinas de estados finitos 277 Negação α α V F F V Conjunção α β α β V V V V F F F V F F F F Disjunção α β α β V V V V F V F V V F F F Condicional α β α β V V V V F F F V V F F V Bicondicional α β α β V V V V F F F V F F F V Figura A.1 Tabelas da verdade para conectivos lógicos. 0 > 1; 2 é um número par; 2 é um número primo; todo número é um quadrado perfeito. Sabe-se que os valores-verdade de tais afirmativas são, respectivamente: F, V, V e F. Assim, a afirmativa 2 é um número par 2 é um número primo é verdadeira, de acordo com a primeira linha da tabela da verdade para o conectivo. No entanto, a afirmativa 0 > 1 2 é um número primo é falsa, de acordo com a terceira linha da mesma tabela. Já a afirmativa 0 > 1 2 é um número primo é verdadeira, segundoa terceira linha da tabela da verdade para o conectivo. A afirmativa 2 é um número par todo número é um quadrado perfeito é falsa, pela segunda linha da tabela para o conectivo. O significado do conectivo pode parecer estranho à primeira vista, pois a expressão se...então éutilizadanodia-a-diacomumsentidodiferente. Umamaneira de explicar o significado exibido na tabela da condicional na Figura A.1 refere-se ao fato de que, em matemática, a afirmativa para todo número inteiro n, se n 1 então n 2 1 deve ser verdadeira. Com isto, em particular: para n = 1, n 1 é verdadeira e n 2 1 é verdadeira, justificando a primeira linha da tabela;

278 Editora Thomson Introdução aos fundamentos da computação para n = 1, n 1 é falsa e n 2 1 é verdadeira, justificando a segunda linha; e para n = 0, n 1 é falsa e n 2 1 é falsa, justificando a terceira linha. Outros termos equivalentes a α β, além de se α então β, são os seguintes: α é condição suficiente para β, e β é condição necessária para α. E α é condição necessária e suficiente para β quer dizer o mesmo que α β. Dizer que xp(x) é verdadeira é dizer que, para todo membro x do universo de discurso em consideração, a afirmativa P(x) é verdadeira. Informalmente, P(x) é qualquer afirmativa matemática envolvendo a variável x. Como mostrado em exemplos a seguir, P(x) pode ser uma expressão em uma linguagem puramente matemática (formal) ou uma mistura de português e termos matemáticos (informal). Dizer que xp(x) é verdadeira é dizer que para algum (um ou mais de um) membro x do universo de discurso em consideração, a afirmativa P(x) é verdadeira. Algumas vezes o universo U para o qual se faz a afirmativa é explicitado na forma x UP(x) ou x UP(x). Os conectivos x e x são os denominados quantificador universal e quantificador existencial. Exemplo 124 A afirmativa para todo número inteiro n, se n 1 então n 2 1 pode ser expressa assim utilizando-se a notação formal para os conectivos: n(n 1 n 2 1), ficando implícito que o universo de discurso é o conjunto dos números inteiros. Sendo Z o conjunto dos números inteiros, pode-se citá-lo explicitamente assim na afirmativa: n Z(n 1 n 2 1). Como mostrado no exemplo a seguir, podem existir várias maneiras de se expressar a mesma afirmativa e em vários graus de formalidade. Exemplo 125 Considere a afirmativa: todo número natural par ao quadrado é par. Uma notação um pouco mais formal para essa afirmativa, supondo que N seja o conjunto dos números naturais, 1 seria: n[n N (n é par n 2 é par )]; ou, alternativamente: n N(n é par n 2 é par ). Mais formalmente, a afirmativa poderia ser assim expressa: n N[ k N(n = 2k) k N(n 2 = 2k)]. Uma afirmativa que é sempre verdadeira, independentemente dos valores-verdade assumidos para as subafirmativas que a compõem, é denominada válida. E a que é sempre falsa é dita ser uma contradição. Com isso, pode-se dizer que uma afirmativa é válida se, e somente se, a negação dela é uma contradição. Em alguns contextos pode ser útil ter um símbolo específico,, que é interpretado como sempre verdadeiro, e um símbolo específico,, que é interpretado como sempre falso. Dessa forma, uma afirmativa válida tem o mesmo valor-verdade que, ou seja, V, e uma contradição tem o mesmo valor-verdade que, ou seja, F. Exemplo 126 A seguinte tabela mostra que a afirmativa [(α β) α] β é válida, já que contém apenas Vs na coluna correspondente a essa afirmativa: 1 O conjunto dos números naturais é o conjunto dos números inteiros não negativos.

Newton José Vieira Capítulo 2: Máquinas de estados finitos 279 Tabela A.1 Propriedades elementares dos conectivos e Idempotência α α α α α α Identidade α α α α α α Comutatividade α β β α α β β α Associatividade (α β) γ α (β γ) (α β) γ α (β γ) Distributividade α (β γ) (α β) (α γ) α (β γ) (α β) (α γ) Complementação α α α α Leis de De Morgan (α β) α β (α β) α β α β α β (α β) α [(α β) α] β V V V V V V F F F V F V V F V F F V F V Também são exemplos de afirmativas válidas (a denota um elemento do universo em consideração): P(a) xp(x); xp(x) x P(x); xp(x) x P(x). Duas afirmativas α e β são ditas logicamente equivalentes, escreve-se α β, quando o valor-verdade para cada uma delas é o mesmo, independentemente dos valores-verdade das subafirmativas componentes. A importância desse conceito está em que se α β, tanto faz fazer referência a α quanto a β. A Tabela A.1 mostra algumas equivalências lógicas elementares referentes aos conectivos e. Como se pode notar, as propriedades da disjunção e da conjunção vêm aos pares. E mais, elas podem ser obtidas umas das outras substituindo-se,, e por,, e, respectivamente. A dual de uma afirmativa é justamente o resultado de se fazer essas substituições nela. Pode-se mostrar facilmente que a dual de uma equivalência lógica também é uma equivalência lógica.

280 Editora Thomson Introdução aos fundamentos da computação Tabela A.2 Algumas afirmativas logicamente equivalentes Condicional α β α β α β β α α (β γ) (α β) γ (α β) α β Bicondicional α β (α β) (β α) α β (α β) ( α β) Quantificadores xp(x) x P(x) xp(x) x P(x) xp(x) x P(x) xp(x) x P(x) Já a Tabela A.2 apresenta equivalências lógicas importantes que são utilizadas em provas, muitas vezes sem menção explícita. As duas primeiras linhas mostram equivalências importantes, referentes ao conectivo condicional, que são utilizadas com bastante frequência. A terceira linha exibe equivalências relativas ao conectivo bicondicional. A quarta linha mostra como os conectivos e são definíveis um em função do outro, e a última revela duas equivalências relativas a tais quantificadores, também muito utilizadas. O conectivo, denominado implicação material, tem relação íntima na matemática clássica com o conceito de consequência lógica, também chamado implicação lógica. Uma afirmativa α é dita ser consequência lógica de um conjunto de afirmativas Γ, Γ α, quando α é verdadeira sempre que as afirmativas de Γ forem verdadeiras. O problema de provar um teorema α é justamente o mesmo de mostrar que Γ α, sendo que Γ consta das hipóteses que podem ser usadas na prova. Exemplo 127 Suponha, como hipótese, que α β e α sejam verdadeiras. Nesse caso, β também o é, como pode ser verificado na tabela de na Figura A.1 (página 277): para cada linha em que α β e α são verdadeiras (no caso, apenas a primeira linha), β também o é. Assim, tem-se que 2 {α β,α} β. Em uma prova obtém-se, sucessivamente, uma série de afirmativas de forma que cada afirmativa seja consequência lógica das anteriores. Uma maneira de obter uma afirmativa que seja consequência lógica de outras é mediante uma regra de inferência. O exemplo anterior justifica uma das regras de inferência utilizadas em provas de teoremas: a regra modus ponens. A Figura A.2 ilustra várias regras de inferência, em que cada uma delas é apresentada na forma premissa 1 premissa 2. premissa n conclusão 2 {α β,α} é o conjunto constituído pelos elementos α β e α.

Newton José Vieira Capítulo 2: Máquinas de estados finitos 281 α α β α β α β α β β β α α β α β α β α β β γ β γ β α γ α γ Figura A.2 Algumas regras de inferência. Evidentemente, tem-se que {premissa 1,premissa 2,...,premissa n } conclusão. Seja Γ um conjunto de afirmativas quaisquer. A relação entre o conectivo e a implicação lógica é: 3 se Γ {α} β, então Γ α β. 4 Em outras palavras, pode-se concluir que α β é consequência lógica do conjunto de hipóteses Γ se β é consequência lógica do conjunto de hipóteses Γ, acrescido da hipótese adicional α. Isso justifica uma das técnicas de prova mais utilizadas. Prova direta para a condicional Para provar α β, supor α e provar β. Exemplo 128 Seja o problema de provar, para qualquer número natural n, que, se n for par, então n 2 será par. Usando a técnica de prova direta para a condicional, suponhaquenseja um número natural par. Nesse caso, n = 2k para algum número natural k, e n 2 = (2k) 2 = 4k 2 = 2(2k 2 ). Logo, n 2 é par. Conclui-se: se n é um número natural par, então n 2 é par. Uma afirmativa da forma β α é dita ser a contrapositiva de α β. Como diz a Tabela A.2, α β β α. Assim, pode-se utilizar a prova para a condicional como a seguir. Prova pela contrapositiva Para provar α β, supor β e provar α. No Exemplo 128, foi utilizado implicitamente um resultado relativo ao quantificador universal. Esse resultado é: se Γ P(a) e a não ocorre em Γ, então Γ xp(x). Isso justifica usar a seguinte técnica para provar xp(x). 3 A B é a união dos conjuntos A e B, ou seja, é o conjunto constituído pelos elementos de A e de B. 4 Esse resultado, bastante intuitivo, é denominado teorema da dedução na maioria dos textos de lógica matemática.

282 Editora Thomson Introdução aos fundamentos da computação Prova para a universal Para provar xp(x), supor um a arbitrário, que não apareça em nenhuma hipótese a ser utilizada, e provar P(a). Ou então, para provar x AP(x), supor um a A arbitrário, que não apareça em nenhuma hipótese a ser utilizada, e provar P(a). Exemplo 129 Segue uma prova da afirmativa do Exemplo 128, pondo em maior evidência a aplicação da prova para a universal. Será provado, então, que n N se n for par, então n 2 será par. Seja n um número natural arbitrário. Suponha que n seja par. Assim, n = 2k para algum número natural k, e n 2 = (2k) 2 = 4k 2 = 2(2k 2 ). Logo, se n é par, então n 2 é par. E como n é um número natural arbitrário, conclui-se que n N se n é par, então n 2 é par. Outra técnica bastante empregada é a da prova por contradição. Suponha que se queira provar α, a partir de um conjunto de hipóteses Γ. Em vez de provar α diretamente a partir de Γ, supõe-se a negação de α como hipótese adicional e tenta-se chegar a uma contradição. Essa técnica é embasada no fato de que, se Γ { α} c, sendo c uma contradição qualquer, então Γ α. 5 Tem-se, então: Prova por contradição Para provar α, supor α e derivar uma contradição. Exemplo 130 Será provado, por contradição, que existe uma infinidade de números primos. Suponha que exista uma quantidade limitada de números primos p 1, p 2,..., p n, para algum número natural n. Seja o número k = (p 1 p 2 p n )+1. Ora, tal número não é divisível por nenhum dos números primos p 1, p 2,..., p n. Logo, k é divisível por algum outro primo diferente de p 1, p 2,..., p n ou então k é primo. Em qualquer dos casos, tem-se a existência de um primo diferente de p 1, p 2,..., p n. Isso contradiz a suposição original de que existe uma quantidade limitada de números primos. Logo, existe uma infinidade de números primos. Observe que, no exemplo dado, mostrou-se que existe um número primo diferente de qualquer um dos p i s, sem expor um exemplar. Este é um exemplo de prova de uma afirmativa da forma xp(x), não construtiva: não é exibido (construído) um x tal que P(x). Outra técnica seria: Prova por construção Para provar xp(x), provar P(a) para um certo a específico. Ou então, para provar x AP(x), provar P(a) para um certo a A específico. 5 Tal resultado segue do teorema da dedução no qual se embasa a técnica de prova para a condicional. Por esse teorema, se Γ { α} c, então Γ α c. Ora, α c, sendo c uma contradição qualquer, é logicamente equivalente a α!

Newton José Vieira Capítulo 2: Máquinas de estados finitos 283 Essa técnica é embasada no fato de que, se Γ P(a), então Γ xp(x). Uma generalização dessatécnica, embasada nofato dequese Γ P(a 1 ) P(a 2 ) P(a n ), então Γ xp(x), seria: para provar xp(x), provar P(a 1 ) P(a 2 ) P(a n ) para a 1, a 2,..., e a n específicos. Exemplo 131 Será provado que, para qualquer número natural n, existe um número natural com, no mínimo, n divisores distintos. (Observe como são usadas as técnicas de prova para universal e por construção.) Seja um número natural arbitrário n. Pelo resultado do Exemplo 130, existem n primos p 1,p 2,...,p n. Ora, um número natural com n divisores distintos seria p 1 p 2...p n. Outra técnica, que já foi utilizada no Exemplo 130, é o da análise de casos. Ela é embasada no fato de que, se Γ α 1 α 2 α n e Γ {α 1 } β, Γ {α 2 } β,..., e Γ {α n } β, então Γ β. Prova por análise de casos Para provar β, provar primeiro que α 1 α 2 α n. Em seguida: 1) supor α 1 e provar β; 2) supor α 2 e provar β;. n) supor α n e provar β. Exemplo 132 Seja o problema de provar que min(x,y) + max(x,y) = x + y para quaisquer números reais x e y. Sejam x e y dois números reais arbitrários. Sabe-se que x < y, x = y ou x > y. Serão considerados cada um desses três casos. No caso em que x < y, tem-se que min(x,y) = x e max(x,y) = y; se x = y, min(x,y) = max(x,y) = x = y; e no caso em que x > y, min(x,y) = y e max(x,y) = x. Em qualquer um dos três casos, min(x,y)+max(x,y) = x+y. Portanto, min(x,y)+max(x,y) = x+y para quaisquer números reais x e y. Na primeira técnica de prova vista anteriormente, mostrou-se como provar α β: supor α e provar β, ou então supor β e provar α. Outra forma de provar α β seria por contradição: supor (α β), ou seja, α β e derivar uma contradição. Já para provar α β, baseando-se no fato de que α β (α β) (β α), basta provar ambos, α β e β α, usando tais técnicas. Prova para a bicondicional Para provar α β, provar ambos, α β e β α.

284 Editora Thomson Introdução aos fundamentos da computação Exemplo 133 A seguir, prova-se que n N n é par se, e somente se, n 2 é par. Seja n um número natural arbitrário. Basta provar que n é par se, e somente se, n 2 é par. ( ) Suponha que n seja par. Nesse caso, n = 2k para algum número natural k, e n 2 = (2k) 2 = 4k 2 = 2(2k 2 ). Logo, se n é par, n 2 é par. ( ) A prova será feita pela contrapositiva. Para isso, suponha que n seja ímpar. Dessa forma, n = 2k + 1 para algum número natural k. Segue-se, portanto, que n 2 = (2k +1) 2 = 4k 2 +4k+1 = 2(2k 2 +2k)+1. Logo, se n é ímpar, n 2 é ímpar. Quando se deseja provar uma cadeia de equivalências da forma α 1 α 2 α n, 6 em que n 3, basta provar a sequência de implicações: α 1 α 2,α 2 α 3,...,α n α 1. Outra técnica de prova que será muito utilizada neste livro é a prova por indução, a ser abordada na Seção A.7. Exercícios 1. Toda afirmativa da lógica proposicional é equivalente a uma afirmativa que usa apenas (se usar) os conectivos e. Especifique como se pode obter, a partir de uma afirmativa qualquer, uma equivalente que use apenas (se usar) os conectivos e. Estenda o método proposto para incluir os conectivos e ; no caso, além de e, a afirmativa final pode ter apenas. 2. Mostre que as seguintes afirmativas são válidas: a) (α β) α; b) α (α β); c) (α α) β; d) α (β β); e) (α β) α; f) (α β) (β α). Procure argumentar em português, como normalmente se faz em uma prova. Por exemplo, segue uma prova de que (α β) α é válida: A afirmativa (α β) α só é falsa se (α β) é verdadeira e α é falsa. Para que (α β) seja verdadeira, α β tem que ser falsa; e α β só é falsa se α é verdadeira e β falsa. Contradição, pois α não pode ser falsa e verdadeira. Portanto, (α β) α não pode ser falsa; logo, é válida. 6 O conectivo é associativo, isto é (α β) γ α (β γ), como pode ser facilmente verificado, o que justifica a ausência de parênteses.

Newton José Vieira Capítulo 2: Máquinas de estados finitos 285 3. Mostre as seguintes equivalências lógicas: a) (α β) ( β α); b) (α β) γ [(α γ) (β γ)]; c) α (β γ) [(α β) (α γ)]. Novamente, argumente em português. Para provar uma equivalência α β, (1) suponha α e prove β e depois (2) suponha β e prove α. 4. Mostre as seguintes implicações lógicas: a) {α, α} γ; b) {α γ} (α β) γ; c) { α β, β} α. Novamente, argumente em português. 5. Prove que, se x > 0 e x < y, em que x e y são números reais, então x 2 < y 2. 6. Prove que, se x 2 +y = 13 e y 4, em que x e y são reais, então x 3. 7. Prove que, para todo número real x, se x > 2, então existe um real y tal que y +(1/y) = x. 8. Prove que, para todo número natural x, se x não é um quadrado perfeito, x é um número irracional. 9. Prove que, se n e k são números naturais, então existem pelo menos k números naturais consecutivos não primos maiores do que n. Dica: note que k!+i não é primo para i = 2,3,... 10. Prove que, se n é um número inteiro não divisível por 3, então n 2 = 3k +1 para algum inteiro k. 11. Dadas duas funções f e g, ambas de N para N, f é dita ser de ordem g, ou seja, f é O(g) se, e somente se, existem dois números naturais constantes k e n 0 tais que para todo n n 0, f(n) kg(n). Prove que 10n 2 + 100n + 1.000 é O(n 2 ). Explicite que técnicas básicas de prova foram utilizadas. A.2 Conjuntos Um conjunto é uma abstração matemática que captura o conceito de uma coleção de objetos. Os objetos de um conjunto, chamados elementos ou membros do conjunto, podem ser também conjuntos. Para dizer que um objeto a pertence a um conjunto A, ou seja, é membro de A, será usada a notação a A; e para dizer que a não pertence a A, será usada a notação a A.

286 Editora Thomson Introdução aos fundamentos da computação Alguns conjuntos finitos podem ser definidos listando-se seus elementos entre chaves, separados por vírgulas. A ordem dos elementos na lista é irrelevante, pois dois conjuntos com os mesmos elementos são considerados iguais, ou seja, são o mesmo conjunto. Exemplo 134 Um exemplo de conjunto de objetos homogêneos seria o conjunto dos planetas do sistema solar: {Mercúrio, Vênus, Terra, Marte, Júpiter, Saturno, Urano, Netuno}. Outro seria o conjunto dos números inteiros. O seguinte conjunto contém números, planetas e conjuntos: {10,Marte,{0},{Terra,1,2,3}}. Observe que os seguintes conjuntos são iguais, ou seja, são o mesmo conjunto: {1,2} = {2,1} = {1,2,1} = {2,1+1,2 1, 4}. O conjunto que não possui membros, o conjunto vazio, é denotado por. Assim, = {}. No outro extremo existem os conjuntos infinitos, que contêm uma quantidade ilimitada de elementos. Entre estes, alguns são importantes para merecer uma notação especial: N, o conjunto dos números naturais (inteiros não negativos); Z, o conjunto dos números inteiros; R, o conjunto dos números reais; Q, o conjunto dos números racionais: os números reais que podem ser expressos na forma m/n, em que m e n são números inteiros. Existem várias outras formas de definir conjuntos, além de listar seus elementos entre chaves. Uma delas é utilizar uma expressão da forma {x P(x)}, que quer dizer o conjunto de todos os elementos x tais que x satisfaz a propriedade P. é muito comum definir o conjunto dos elementos do conjunto A que satisfazem a propriedade P. 7 Por isso, é comum o uso da notação {x A P(x)} para denotar o mesmo conjunto que {x x A e P(x)}. Essas duas notações são particularmente úteis para definir conjuntos infinitos ou que tenham elementos demais para serem listados explicitamente. Exemplo 135 O conjunto dos números naturais ímpares pode ser denotado por {k k = 2n + 1 e n N}. O conjunto dos números reais entre 0 e 1, incluindo 0 e 1, pode ser denotado por {k R 0 k 1}. E o conjunto dos números inteiros de 100 a 100 pode ser denotado por {n Z 100 n 100}. 7 Sendo A um conjunto bem conhecido, garante-se a existência do conjunto definido. Evita-se, com isso, o surgimento de paradoxos como o de Russell.

Newton José Vieira Capítulo 2: Máquinas de estados finitos 287 A B A B A B A B A B A B Figura A.3 Diagramas de Venn para união, interseção e diferença. Um conjunto unitário é um conjunto que contém um único membro. Exemplos: {Terra}, {10}, { }. Esse último conjunto tem o conjunto vazio como seu único elemento. Um conjunto A é dito estar contido em um conjunto B, A B, se todo membro de A é elemento de B, ou seja: A B para todo x, se x A então x B. Nesse caso, A é dito ainda ser um subconjunto de B. Pela definição, vê-se que X e X X para qualquer conjunto X. Um conjunto A que está contido em B, mas que não é igual a B, é conhecido como subconjunto próprio de B; neste caso, escreve-se A B. Assim, A B A B e A B. A união de dois conjuntos A e B, A B, é conjunto constituído pelos elementos de A e de B, ou seja: A B = {x x A ou x B}. A interseção de dois conjuntos A e B, A B, é conjunto constituído pelos elementos comuns de A e B, ou seja: A B = {x x A e x B}. A diferença entre dois conjuntos A e B, A B, é o conjunto constituído pelos elementos de A que não pertencem a B, ou seja: A B = {x x A e x B}. Representando-se cada conjunto por meio de uma curva fechada, as três operações anteriormente definidas podem ser ilustradas por meio de diagramas de Venn, como mostrado na Figura A.3. No diagrama, os conjuntos A e B são representados por círculos que se interceptam formando três regiões. A região dentro de A, mas fora de B, está escurecida só para a união e a diferença, indicando que os elementos que estão em A, mas não em B, pertencem a A B e A B, mas não a A B. A região comum a ambos está escurecida para a união e a interseção apenas, mostrando que os elementos

288 Editora Thomson Introdução aos fundamentos da computação comuns a A e a B pertencem a A B e A B, mas não a A B. Por fim, a região dentro de B, mas fora de A, está escurecida apenas para a união, indicando que os elementos que estão em B, mas não em A, pertencem a A B, mas não a A B nem a A B. Exemplo 136 Sejam os conjuntos A = {0,1,2,3} e B = {2,3,4}. Então: A,B N; A,B N; N Z Q R; A B = {0,1,2,3,4}; A B = {2,3}; A B = {0,1}; B A = {4}; A N = N; A N = A; A N = ; N A = {k N k 4}. O complemento de um conjunto A com relação a um conjunto universo U é U A. Em um determinado contexto, fixando-se um certo conjunto U como o conjunto universo, passa-se a expressar o complemento de um conjunto A por A. Nesse caso, dizer que x A é equivalente a dizer que x U A e, também, que x A. Um conjunto universo pode ser representado em um diagrama de Venn por meio de um retângulo, dentro do qual se desenha todos os conjuntos considerados com relação a esse universo. Assim, na figura A.3 os retângulos que circundam A e B representam o universo: todos os elementos pertencem a ele. A área fora de A representa os elementos que não pertencem a A, ou seja, que pertencem a A. Assim, o diagrama de Venn para A seria como mostrado na Figura A.4. A Tabela A.3 mostra algumas propriedades das operações de união, concatenação e diferença. Deve ser observada a similaridade desta com a Tabela A.1 (página 279). De forma análoga ao que acontece com os conectivos e apresentados nessa tabela, aqui as propriedades da união e da interseção vêm aos pares, sendo obtidas umas das outras substituindo-se,, U e por,, e U, respectivamente. A dual de uma equação envolvendo conjuntos, E, é justamente o resultado de se fazer tais substituições em E. Pode-se mostrar que a dual de uma identidade é também uma identidade. Algumas identidades simples pode ser verificadas mediante o uso de diagramas de Veen. Por exemplo, fazendo-se o diagrama de Venn para A B, verifica-se que ele é

Newton José Vieira Capítulo 2: Máquinas de estados finitos 289 A Figura A.4 Diagrama de Venn para A. Tabela A.3 Propriedades da união, interseção e diferença Idempotência A A = A A A = A Identidade A = A A = Comutatividade A B = B A A B = B A Associatividade (A B) C = A (B C) (A B) C = A (B C) Distributividade A (B C) = (A B) (A C) A (B C) = (A B) (A C) Complementação A A = U A A = U = = U Leis de De Morgan A B = A B A B = A B Diferença A = A A A = A =

290 Editora Thomson Introdução aos fundamentos da computação idêntico ao de A B, mostrando que A B = A B. Em geral, para provar que dois conjuntos A e B são iguais, prova-se que A B e B A. No entanto, para provar propriedades genéricas sobre conjuntos, como as da Tabela A.3, pode ficar mais conciso e simples usar as propriedades mostradas a seguir, decorrentes diretamente das definições dos operadores: x A B x A ou x B x A B x A e x B x A B x A e x B x A x A Utilizando-se tais propriedades, traduz-se o problema em um problema de manipulação lógica, a qual pode ser feita empregando-se as equivalências lógicas conhecidas e a última regra de inferência da Figura A.2 (página 281). Veja o próximo exemplo. Exemplo 137 Segue uma prova da propriedade distributiva da união sobre a interseção. Para provar A (B C) = (A B) (A C), basta provar que, para todo x, x A (B C) x (A B) (A C). Para isso, basta provar que, para um elemento arbitrário x, x A (B C) x (A B) (A C). Seja então um x arbitrário. Tem-se: x A (B C) x A ou x B C pela definição de x A ou (x B e x C) pela definição de (x A ou x B) e (x A ou x C) pela distributividade de ou sobre e x A B e x A C pela definição de x (A B) (A C) pela definição de. Observe como a última regra de inferência da Figura A.2 é utilizada aqui de forma implícita. As leis de De Morgan para os conjuntos são intimamente relacionadas com as leis de De Morgan para os conectivos lógicos e e ou. Durante a prova de tais leis para os conjuntos, certamente serão utilizadas as leis respectivas para os conectivos lógicos, como poderá ser verificado solucionando-se o Exercício 6a do final desta seção, na página 293. Dois conjuntos A e B são ditos disjuntos se, e somente se, A B =. Dados os conjuntos A 1,A 2,...,A n, sendo n 1, define-se: e n A i = A 1 A 2 A n i=1 n A i = A 1 A 2 A n i=1

Newton José Vieira Capítulo 2: Máquinas de estados finitos 291 Exemplo 138 Sejam N i = {k N k mod i = 0} para i 1. Ou seja, cada N i é o conjunto dos números naturais divisíveis por i. Assim, N 1 = N, N 2 é o conjunto dos números naturais pares, N 3 = {0,3,6,9,...} etc. Logo: N j N 1 para todo j; N 6 = N 2 N 3 ; 6 i=2 N i é o conjunto dos números naturais divisíveis por 2, 3 ou 5 (observando que N 4 N 2, N 6 N 2 e N 6 N 3 ); para i j, N i e N j são disjuntos, já que i j N i N j. Umapartição deumconjunto Aéumconjunto{B 1,B 2,...,B n }, n 1, constituído por conjuntos B i, tal que: a) B i, para 1 i n; b) B i e B j são disjuntos, para 1 i < j n; e c) n i=1 B i = A. Nesse caso, diz-se ainda que os conjuntos B 1,B 2,...,B n particionam o conjunto A. Exemplo 139 Os conjuntos Q, dos números racionais, e R Q, dos números irracionais, particionam R, ou seja, {Q,R Q} é uma partição de R. Como outro exemplo, seja D o conjunto de todas as palavras de um dicionário da lingua portuguesa (pode escolher qualquer um), e sejam P L, para L {a,b,...,z}, os conjuntos de todas as palavras iniciadas com a letra L. Segue-se que {P a,p b,...,p z } é uma partição de D. Oconjunto potência deumconjuntoa, P(A), éoconjuntodetodosossubconjuntos de A, ou seja, P(A) = {X X A}. Em particular, P(A) e A P(A). Note que dizer X P(A) é equivalente a dizer X A. Por exemplo, dizer que (A B) C P(A C) é o mesmo que dizer que (A B) C A C. Onúmerodeelementos deumconjuntofinitoaserádenotadopor A. Porexemplo, {,a,{a,b,c,d}} = 3. Outro exemplo: P(A) = 2 A, se A é finito, pois cada um dos A elementos de A pode estar presente ou ausente em um subconjunto. Denotando-se por C(n,k) a combinação de n elementos tomados k a k, o número de subconjuntos de k elementos tomados de um conjunto de n elementos é justamente C(n,k), o que mostra que A k=0 C( A,k) = 2 A. Um conjunto de dois elementos é denominado par não ordenado. Um par ordenado, também chamado dupla, cujo primeiro elemento é a e segundo, b, é denotado por (a,b). A propriedade básica de um par ordenado é que (a,b) = (c,d) se, e somente se, a = c e b = d. Uma n-upla (lê-se ênupla ) de elementos a 1, a 2,..., a n, nessa ordem, é

292 Editora Thomson Introdução aos fundamentos da computação denotada por (a 1,a 2,...,a n ). 8 Termos alternativos para 3-upla, 4-upla etc. são tripla, quádrupla, quíntupla, sêxtupla etc. O produto cartesiano de dois conjuntos A e B, A B, é o conjunto de todos os pares ordenados tais que o primeiro elemento pertence a A e o segundo pertence a B, ou seja, A B = {(a,b) a A e b B}. Generalizando, o produto cartesiano de n conjuntos A 1, A 2,..., A n é o conjunto: A 1 A 2 A n = {(a 1,a 2,...,a n ) a 1 A 1,a 2 A 2,...,a n A n }. O produto cartesiano A A A A (n vezes) é denotado, alternativamente, por A n. Assume-se que A 0 = e A 1 = A. Exemplo 140 Sejam A = {1,2} e B = {2,3}. Tem-se: A B = {(1,2),(1,3),(2,2),(2,3)}; A A = A 2 = {(1,1),(1,2),(2,1),(2,2)}; A B A = {(1,2,1),(1,2,2),(1,3,1),(1,3,2),(2,2,1),(2,2,2),(2,3,1),(2,3,2)}; A 3 = {(1,1,1),(1,1,2),(1,2,1),(1,2,2),(2,1,1),(2,1,2),(2,2,1),(2,2,2)}. Evidentemente, A 1 A 2 A n = A 1 A 2 A n, se A 1, A 2,..., A n são finitos. Exercícios 1. Identifique que relação, dentre, e é disjunto de, há entre: a) 0 e {0,1,2,3}; b) {0} e {0,1,2,3}; c) {0,1,2,3} e ; d) {0,2} e {0,1,2,3}; e) {0,2} e {1}; f) 1 e {k Z k 2 1 = 0}; g) { 1,0,1} e {k Z k 2 1 = 0}. 2. Sejam os conjuntos A = {n N n 8} e B = {n Z 5 n 5}. Liste os elementos dos conjuntos seguintes: a) A B; 8 Formalmente, para n > 2, uma n-upla seria uma dupla cujo primeiro elemento é a n 1-upla constituída pelos n 1 primeiros elementos da n-upla, e cujo segundo elemento é o último elemento da n-upla.

Newton José Vieira Capítulo 2: Máquinas de estados finitos 293 b) C = {n A B n = 2k para algum k Z}; c) D = (A B) (B A); d) [(A C) (A D)] [(A D) (A C)]. 3. Mostre que A B = A B se e somente se A = B. 4. Que condição os conjuntos A e B devem satisfazer para que A B = B A? 5. Que condição os conjuntos A, B e C devem satisfazer para que A B = A C e B C? 6. Prove que: a) A B = A B; b) A (A B) = A B; c) (A B) C = A (B C); d) A (B C) = (A B) (A C); 7. Sejam os conjuntos C i = {k N i k 2i} para i N. a) Determine C i para i = 0,1,2,3. b) Para que i N, C i e C i+1 são disjuntos? c) Qual é o menor j > 2 para o qual C j C 2 =? Generalize: qual é o menor j > i para o qual C j C i =? d) Determine n 2 i=n 1 C i. 8. Listetodasas partições dosconjuntos{1,2}, {1,2,3} e{1,2,3,4}. Desenvolva um método sistemático para gerar todas as partições de um conjunto {1,2,...,n}. 9. Dê dois exemplos de conjuntos A tais que x A(x P(A)). 10. Prove que: a) P(A) P(B) P(A B); b) P(A) P(B) = P(A B). 11. Defina diferença simétrica de conjuntos A e B por A B = (A B) (B A). Prove que: a) A B = (A B) (A B); b) (A B) (B A) = A B; c) A B = A se, e somente se, B =. Em que condições A B = A B?

294 Editora Thomson Introdução aos fundamentos da computação A.3 Relações Uma relação de n argumentos sobre os conjuntos A 1, A 2,..., A n é um subconjunto de A 1 A 2 A n. As relações de dois argumentos são denominadas relações binárias, as de três argumentos são conhecidas como relações ternárias etc. Exemplo 141 Um exemplo de relação binária seria: {(a,d) a A e d D e a está matriculado em d}, em que A é o conjunto de todos os alunos decerto cursoedéoconjunto das disciplinas do curso. As relações <, etc. sobre os reais são exemplos de relações binárias sobre R 2. Um exemplo de relação ternária: {(x,y,z) N 3 x < y < z}. O domínio de uma relação binária R A B é o conjunto A, e o contradomínio de R é o conjunto B. A imagem de R é o conjunto {y (x,y) R para algum x}. Uma relação sobre A 2 também é dita ser uma relação sobre A simplesmente. A relação inversa de R A B é a relação R 1 B A dada por R 1 = {(y,x) (x,y) R}. Para relações binárias, é comum a notação xry em vez de (x,y) R. Exemplo 142 Seja a relação < sobre N. Tanto o domínio como o contradomínio de < são o conjunto N. A inversa de < é a relação >, isto é, < 1 =>, pois tem-se que x < y y > x para quaisquer (x,y) N 2. A imagem de < é o conjunto N {0}, pois nenhum número natural é menor que 0, e qualquer outro número natural possui algum menor que ele (0, por exemplo). A imagem de > é N. Uma relação binária R A 2 é: a) reflexiva, se xrx para todo x A; b) simétrica, se xry implica yrx para todo x,y A; c) transitiva, se xry e yrz implica xrz para todo x,y,z A. Exemplo 143 Tanto a relação < como a relação > do Exemplo 142 não são reflexivas nem simétricas; ambas são transitivas. Já as relações e sobre N são reflexivas, não são simétricas e são transitivas. A relação também é reflexiva, não simétrica e transitiva. Arelação é irmã ou irmão de, consideradasobreoconjuntodaspessoasdomundo em certo instante, é: não reflexiva: uma pessoa não é irmã de si mesma; simétrica: se fulano é irmão de beltrano, então beltrano é irmão de fulano; e não transitiva: quando fulano é irmão de beltrano, beltrano é irmão de fulano (simetria), mas fulano não é irmão de fulano.

Newton José Vieira Capítulo 2: Máquinas de estados finitos 295 Uma relação de equivalência é uma relação binária reflexiva, simétrica e transitiva. Uma relação de equivalência R sobre um conjunto A divide A em classes de equivalência. Essas classes de equivalência formam uma partição do conjunto A. A classe de equivalência que contém o elemento x é denotada por [x], e é definida como [x] = {y xry}. Pode-se provar que [x] = [y] se, e somente se, xry. Exemplo 144 Um exemplo simples de relação de equivalência é a de identidade sobre um conjunto C, ι C = {(x,x) x C}. O conjunto C é particionado em classes de equivalência unitárias [x] = {x}. Outro exemplo é a relação (modn) = {(x,y) N 2 xmodn = ymodn}. 9 A partição de N induzida pela relação (modn) tem n classes de equivalência, uma para cada resto de 0 a n 1: {{0,n,2n,...},{1,n+1,2n+1,...},...,{n 1,2n 1,3n 1,...}}. Mais um exemplo: a relação A P P, em que P é o conjunto das pessoas do mundo, tal que A = {(p,q) P 2 p e q fazem aniversário no mesmo dia} é uma relação de equivalência que particiona P em 366 classes de equivalência, uma para cada dia do ano. Os conceitos de fechos de uma relação sob as propriedades reflexiva, simétrica e/ou transitiva, definidos a seguir, terão aplicação nos próximos capítulos. O fecho reflexivo de uma relação R A A é a relação S tal que: a) R S; b) S é reflexiva; c) S está contida em qualquer outra relação com as propriedades (a) e (b), ou seja, se R T e T é reflexiva, então S T. De forma análoga define-se fecho simétrico e fecho transitivo. Exemplo 145 Seja a relação < sobre N. Então: seu fecho reflexivo é ; seu fecho simétrico é a relação {(x,y) N x < y ou x > y}; seu fecho transitivo é <, pois esta é transitiva; seu fecho transitivo e reflexivo é ; seu fecho reflexivo e simétrico é a relação {(x,y) x,y N}; e assim por diante. Exercícios 1. Sejam as relações: {(x,y) Z Z y = x 2 }; {(x,y) R R y = x 2 }; 9 xmodn é o resto da divisão de x por n.

296 Editora Thomson Introdução aos fundamentos da computação {(x,y) R R x 2 + y 2 = 1}; (Lembre-se: x 2 + y 2 = 1 é a equação da circunferência de raio 1 com centro na origem.) {(x,y) N P(N) y = {k k x}}. Para cada uma delas: a) Qual é o seu domínio e o seu contradomínio? b) Qual é a sua imagem? c) Qual é sua inversa? 2. Diga que propriedades, entre reflexividade, simetria e transitividade, cada uma das relações tem: a) sobre conjuntos; b) {(x,y) R 2 x = y 2 }; c) {(x,y) N 2 x é divisível por y}; d) {((x 1,x 2 ),(y 1,y 2 )) (N N) 2 x 1 y 1 e x 2 y 2 }; e) {(x,y) R 2 x y é um inteiro}. 3. Sejam duas relações binárias R 1 e R 2. Diga que propriedades as relações R 1 R 2 e R 1 R 2 devem ter nos seguintes casos: a) R 1 e R 2 são reflexivas; b) R 1 e R 2 são simétricas; c) R 1 e R 2 são transitivas. 4. Mostre que uma relação R sobre um conjunto é simétrica se, e somente se, R = R 1. 5. Mostre que uma relação R sobre um conjunto é reflexiva se, e somente se, R 1 é reflexiva. 6. Uma relação R sobre A é dita ser anti-simétrica se, e somente se, para todo x,y A, se xry e yrx, então x = y. Mostre que uma relação R sobre A é anti-simétrica se, e somente se, R R 1 ι A. (ι A = {(x,x) x A}.) 7. Seja a relação R = {(a,b),(b,b),(c,d),(d,c),(d,a)} sobre A = {a,b,c,d,e}. Determine todos os sete fechos de R (reflexivo, simétrico etc.). 8. Seja uma relação binária sobre A. A relação composta R R é definida como {(x,z) (x,y) R e (y,z) R para algum y A}. A relação R n, para n 1, é definida recursivamente por: a) R 1 = R; b) R n = R n 1 R para n 2.

Newton José Vieira Capítulo 2: Máquinas de estados finitos 297 Prove que para toda relação reflexiva e transitiva R n = R para todo n 1. 9. Seja um conjunto finito X e uma relação binária R P(X) P(X) assim definida: ARB se e somente se existe uma função bijetora de A para B. (a) Prove que R é uma relação de equivalência. (b) Quais são as classes de equivalência de R? 10. Seja R uma relação de equivalência sobre A, A. Mostre que existe uma função f : A A tal que xry se, e somente se, f(x) = f(y). 11. Seja R uma relação de equivalência sobre A, A. Prove que {[a] a A} é uma partição de A. A.4 Funções Umafunção parcial f : A B (lê-se f dea parab )éumarelação bináriaf A B tal que se (x,y) f e (x,z) f, então y = z. Uma notação mais utilizada para dizer que (x,y) f é f(x) = y. Se não existe y tal que f(x) = y, diz-se que f é indefinida para o argumento x. Se para todo x A existe y tal que f(x) = y, diz-se que a função é total. Ou seja, uma função total f : A B é uma função parcial definida para todo argumento x A. Uma função de n argumentos é uma função da forma f : A 1 A 2... A n B. Em vez de escrever f((a 1,a 2,...,a n )) é mais comum escrever f(a 1,a 2,...,a n ). Diz-se que a 1 é o primeiro argumento, a 2 o segundo etc. Exemplo 146 Um exemplo de função total é a soma sobre os reais, + : R 2 R, pois a soma x+y 10 sempre existe para quaisquer reais x e y. Já a divisão, / : R 2 R, não é total, visto que não é definida quando o segundo argumento for 0. Sejam duas funções f : A B e g : B C. A composição de g e f é a função g f : A C tal que { g(f(x)) se f é definida para x e g é definida para f(x) g f(x) = indefinido caso contrário. Exemplo 147 Sejam as funções f : Z N tal que 11 f(n) = n +1 e g : N Z tal que g(n) = 1 n. Tem-se que g f : Z Z é tal que (g f)(n) = g(f(n)) = g( n +1) = 1 ( n +1) = n. Por outro lado, f g : N N é tal que (f g)(n) = f(g(n)) = f(1 n) = 1 n +1. 10 Aqui está sendo utilizada a notação infixada x+y em vez da notação prefixada +(x,y). De forma similar, outras funções comuns da matemática serão empregadas também na forma infixada, ou seja, com o nome da função entre os argumentos. 11 x denota o valor absoluto de x, quando x é um número, e denota o número de elementos de x quando x é um conjunto.

298 Editora Thomson Introdução aos fundamentos da computação O termos domínio, contradomínio e imagem, como definidos na Seção A.3, página 294, aplicam-se a funções. Assim, A é o domínio e B o contradomínio de uma função f : A B. A imagem é {y B f(x) = y para algum x A}. Seja uma função total f : A B. Diz-se que f é: injetora, se para x,y A quaisquer, x y f(x) f(y); sobrejetora, se B é a imagem de f; bijetora, 12 se é injetora e sobrejetora. Exemplo 148 A função f : N N tal que f(x) = 2x é injetora, já que 2x 2y se x y, mas não sobrejetora, visto que não existe x tal que f(x) = n se n for um número ímpar. A função g : Z N tal que g(x) = x é sobrejetora, pois todo número natural é valor absoluto de algum número inteiro, mas não injetora, pois g(x) = g( x) para x 0. A função h : Z N tal que { 2x se x 0 h(x) = (2x+1) se x < 0 é injetora e sobrejetora; logo, é bijetora. A função inversa de f : A B, f 1 : B A, existe somente no caso em que f é injetora, e é tal que f 1 (f(x)) = x para todo x A. Se f for injetora mas não sobrejetora, f 1 será uma função parcial definida apenas para os elementos da imagem de f. Note que, para uma função injetora f : A B, (f 1 f) = ι A. Exemplo 149 Seja a função f : N N tal que f(x) = 2x do exemplo anterior. Então sua inversa, f 1 : N N é tal que: { f 1 x/2 se x é par (x) = indefinido se x é ímpar Já para a função h : Z N, também do exemplo anterior, a inversa h 1 : N Z, é tal que: { h 1 x/2 se x é par (x) = (x+1)/2 se x é ímpar Exercícios 1. Quais das seguintes relações são funções? Se a relação for função, é total ou não? a) A relação sobre {a,e,i,o,u}, {(a,a),(e,i),(i,o),(o,u),(u,u)}; 12 Também chamada correspondência um para um.

Newton José Vieira Capítulo 2: Máquinas de estados finitos 299 b) {(x,y) Z Z y = x 2 }; c) {(x,y) N N x = 2y}; d) {(x,y) Z Z x = y 2 }; e) {(x,y) R R y = x 2 }; f) {(x,y) R x 2 +y 2 = 1}; g) {(x,y) N P(N) y = {k k x}}. 2. Sejam A e B dois conjuntos finitos. Qual é o número máximo de elementos que uma relação R A B pode ter para ela ser uma função? 3. Mostre duas formas de apresentar o conteúdo de relações binárias R A A por meio de funções. 4. Que condição deve ser satisfeita por duas funções f e g para que f g seja uma função? 5. Verifique se as seguintes funções são injetoras, sobrejetoras e/ou bijetoras e, para cada uma, se possível, determine a função inversa: a) f : N N tal que f(n) = n 2, em que é divisão inteira; b) g : N N tal que g(n) = n(n+1)/2; c) h : N N tal que h(n) = n 1, se n for ímpar, e h(n) = n + 1, caso contrário. 6. Sejam A e B conjuntos finitos. Determine quantas funções de A para B existem para cada um dos seguintes tipos de funções: a) totais; b) parciais; c) injetoras; d) sobrejetoras; e) bijetoras. 7. Sejam duas funções totais f : A B e g : B C. Especifique que propriedades deve ter a função g f nos seguintes casos: a) f e g são injetoras; b) f e g são sobrejetoras; c) f e g são bijetoras. 8. Mostre que qualquer função pode ser representada como a composição de duas funções, uma sobrejetora e outra injetora.

300 Editora Thomson Introdução aos fundamentos da computação 9. Sejam f e g funções sobre R tais que f(n) = an + b e g(n) = cn + d. Se g f = f g, que relação existirá entre os coeficientes a, b, c e d? 10. Defina f(a) em que f é uma função e A um conjunto, como f(a) = {f(x) x A}. Mostre que: a) f(a B) = f(a) f(b); b) f(a B) f(a) f(b). 11. A função característica de um conjunto A é a função f A : A {0,1} tal que f A (x) = 1 se, e somente se, x A. Mostre que, para todo elemento x do conjunto universo: a) f A (x) = 1 f A (x); b) f A B (x) = f A (x)+f B (x) f A (x)f B (x); c) f A B (x) = f A (x)f B (x); d) f A B (x) = f A (x)(1 f B (x)). 12. Mostre que há uma função injetora de A para B se, e somente se, há uma função sobrejetora de B para A. A.5 Conjuntos Enumeráveis Para determinar se dois conjuntos finitos A e B têm o mesmo tamanho, basta contar o número de elementos de cada um e verificar se o resultado é o mesmo em ambas as contagens. Outra abordagem seria determinar se existe uma função bijetora de A para B (ou vice-versa). No caso de conjuntos infinitos, evidentemente não é possível contar o número de seus elementos, e a noção de tamanho como conhecida no dia-a-dia não se aplica. Tal noção, no entanto, pode ser substituída pela noção de cardinalidade, definida a seguir, que permite uma útil hierarquização dos conjuntos infinitos. Em particular, com essa noção é possível mostrar, por exemplo, que existem mais funções que programas em qualquer linguagem de programação; ou seja, o conjunto de todas as funções (que é infinito) é maior que o conjunto de todos os programas (também infinito), o que permite concluir que existem funções que não são programáveis em qualquer linguagem de programação. Dois conjuntos A e B têm a mesma cardinalidade, isto é, card(a) = card(b), se existe uma função bijetora de A para B. Se A é um conjunto finito, sua cardinalidade pode ser imaginada como o número de elementos do mesmo, ou seja, card(a) = A. Na Seção A.2, foi dito que um conjunto infinito é aquele que tem uma quantidade ilimitada de elementos. Mais precisamente, um conjunto infinito pode ser definido como aquele que tem um subconjunto próprio de mesma cardinalidade. De maneira inversa, pode-se definir um conjunto A como finito quando ele tem a mesma cardinalidade que {k N k n} para algum n N; nesse caso, diz-se que A = n+1.

Newton José Vieira Capítulo 2: Máquinas de estados finitos 301 0 1 2 3 4 5 6 0 1 1 2 2 3 3 Figura A.5 Função bijetora de N para Z. Exemplo 150 O conjunto dos naturais, N, é infinito, pois: a) N {0} N; e b) f : N N {0} tal que f(x) = x+1 é uma função bijetora. Seja P o conjunto dos números naturais pares (incluindo 0), 13 outro conjunto infinito. Qual conjunto é maior, P ou N? De um lado, tem sentido dizer que N é maior, pois N contém todos os elementos de P mais todos os números naturais ímpares. Do outro, existe uma função bijetora f : N P tal que f(x) = 2x. Assim, P e N têm a mesma cardinalidade. Um conjunto é enumerável 14 se possuir a mesma cardinalidade que N. 15 Um conjunto é dito contável se for finito ou enumerável. Neste texto só serão estudados conjuntos que são contáveis. O Exemplo 150 mostra que o conjunto dos números naturais pares é enumerável. De forma análoga, pode-se mostrar que o conjunto dos números naturais ímpares é enumerável. O seguinte exemplo revela que um conjunto aparentemente maior que N tem a mesma cardinalidade que N. Exemplo 151 A função f : N Z tal que { x/2 se x é par f(x) = (x+1)/2 se x é ímpar demonstra que Z tem a mesma cardinalidade que N e, portanto, é enumerável. A Figura A.5 apresenta esquematicamente a relação entre os elementos de N e de Z dada pela função f. Do fato de que card(n) = card(p), em que P é o conjunto dos naturais pares, e do fato de que card(n) = card(z), segue-se que card(z) = card(p). O seguinte teorema pode facilitar a demonstração de que determinados conjuntos são contáveis. Teorema 50 As seguintes afirmativas são equivalentes: 13 Neste texto, zero será considerado como um número par. 14 Em inglês, denumerable ou countably infinite. 15 A cardinalidade de N é denotada por ℵ 0 (ℵ é a primeira letra do alfabeto hebraico).