paulo blauth menezes li 1\11 2013 4a edição . . introdução à matemática discreta ........................................................... 2 ... conceitos básicos de teoria dos conjuntos ............................................ 3 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 conjuntos ...........................................................................................3 pertinência ......................................................................................... 5 alguns conjuntos importantes ............................................................ 5 conjuntos finitos e infinitos ................................................................ 6 alfabetos, palavras e linguagens ........................................................ 7 subconjunto e igualdade de conjuntos .............................................. 8 conjuntos nas linguagens de programação ...................................... 1O . . . exercícios ................................................................................................ 13 li! ··E I'lQ~ões de lÓ!i!lica e técl'lieas de del"l7lQl'lstl\"a~ãQ 1rz . . lógica ...................................................................................................... 18 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1 .7 proposições ..................................................................................... 19 conetivos ......................................................................................... 19 fórmulas, linguagem lógica e tabelas-verdade ................................. 25 lógica nas linguagens de programação ............................................ 27 tautologia e contradição .................................................................. 29 implicação e equivalência ................................................................ 29 quantificadores ............................................................................... .31 xvi Sumário . . . técnicas de demonstração ..................................................................... 36 2.2.1 2.2.2 2.2.3 prova direta .................................................................................... .38 prova por contraposição ................................................................. .39 prova por redução ao absurdo ........................................................ .39 . . exercícios ................................................................................................ 40 ~ .. ~ álgeora de conjuntos ti:5 . . diagramas de Venn ................................................................................ 48 . . paradoxo de Russell ............................................................................... 49 . . operações não reversíveis ...................................................................... 51 3.3.1 3.3.2 união ............................................................................................... 51 intersecção ....................................................................................... 54 . . operações reversíveis ............................................................................. 57 3.4.1 3.4.2 3.4.3 3.4.4 complemento ................................................................................... 57 conjunto das partes ......................................................................... 61 produto cartesiano .......................................................................... 62 união disjunta .................................................................................. 64 . . relação entre lógica e álgebra de conjuntos .......................................... 66 . . álgebra de conjuntos nas linguagens de programação ........................ 68 . . álgebra de conjuntos e teoria da computação ...................................... 71 . . exercícios ................................................................................................ 75 ~ .. ~ relações 81 . . relação ................................................................................................... 82 . . endorrelação como grafo ...................................................................... 86 . . relação como matriz .............................................................................. 87 Sumário xvii . . relação dual e composição de relações ................................................. 88 4.4.1 4.4.2 relação dual ..................................................................................... 89 composição de relações ................................................................... 91 . . tipos de relações .................................................................................... 93 4.5.1 4.5.2 4.5.3 4.5.4 IIEI funcional e injetora ..........................................................................94 total e sobrejetora ............................................................................95 monomorfismo e epimorfismo ........................................................ 97 isomorfismo ..................................................................................... 98 banco de dados relacional ................................................................... 102 . . rede de Petri ......................................................................................... 104 4.7.1 4.7.2 modelo e exemplos ........................................................................ 104 rede de Petri com relação ............................................................... 106 . . relações nas linguagens de programação ........................................... 108 . . exercícios .............................................................................................. 109 ~ .. ~ funções parciais e totais 113 . . função parcial ...................................................................................... 115 5.1.1 5.1.2 5.1.3 5.1.4 definição e introdução ................................................................... 115 função parcial dual ........................................................................ 116 composição de funções parciais ..................................................... 117 restrição ......................................................................................... 119 . . autômato finito ................................................................................... 120 5.2.1 5.2.2 5.2.3 5.2.4 &11 modelo e exemplo ......................................................................... 120 autômato finito como função parcial. ............................................ 121 restrição de um autômato finito .................................................... 122 leitura complementar ..................................................................... 123 função total ......................................................................................... 124 5.3.1 5.3.2 5.3.3 5.3.4 definição e introdução ................................................................... 125 exemplos importantes de funções .................................................. 126 função dual .................................................................................... 129 composição de funções .................................................................. 130 xviii Sumário . . construções matemáticas como funções ............................................. 131 5.4.1 5.4.2 5.4.3 5.4.4 relação como função ..................................................................... 131 multiconjunto ................................................................................ 132 sequência ....................................................................................... 133 conjunto indexado ......................................................................... 134 . . função de hashing ............................................................................... 135 . . funções nas linguagens de programação ............................................ 131 . . linguagem de programação funcional ................................................ 139 5.1.1 5.1.2 Haskell ........................................................................................... 139 leitura complementar. .................................................................... 140 . . exercícios .............................................................................................. 142 na propriedades de uma endorrelação .................................................... 150 . . fecho de uma endorrelação ................................................................. 155 na ordenação ............................................................................................ 151 6.3.1 6.3.2 6.3.3 6.3.4 &li relação de ordem ........................................................................... 158 classificação de dados .................................................................... 160 diagrama de Hasse ......................................................................... 162 conjuntos ordenados e semântica de sistemas concorrentes ......... 163 equivalência e partição ........................................................................ 166 . . exercícios .............................................................................................. 111 ~ .. ~ carêlinaliêlaêle ê1e conjuntos 1r'lO/; . . cardinalidade finita e infinita .............................................................. 119 . . . conjunto contável e não contável... ..................................................... 180 &li cardinalidade dos conjuntos não contáveis ........................................ 182 Sumário &:Il xix cardinal do conjunto de todos os problemas solucionáveis ............... 184 . . leitura complementar: máquina de Turing .......................................... 184 7.5.1 7.5.2 7.5.3 noção intuitiva da máquina de Turing ............................................ 185 modelo e exemplo ......................................................................... 186 cardinal do conjunto de todas as máquinas de Turing ................... 189 . . exercícios .............................................................................................. 190 . . princípio da indução matemática ........................................................ 194 . . prova indutiva ...................................................................................... 196 IID segundo princípio da indução matemática ......................................... 199 . . definição indutiva ................................................................................ 201 . . expressões regulares ............................................................................ 203 lia computações de um autômato finito .................................................. 204 . . leitura complementar: gramática e BNF .............................................. 206 8.7.1 8.7.2 gramática .......................................................................................207 BNF ................................................................................................209 . . exercícios .............................................................................................. 210 !li! .. ~ l7ecl:.msão 215 . . introdução ........................................................................................... 216 . . funções recursivas parciais .................................................................. 218 9.2.1 9.2.2 9.2.3 9.2.4 substituição composicional ............................................................ 219 recursão primitiva .......................................................................... 220 minimização .................................................................................. 221 função recursiva parcial ................................................................. 224 Sumário . . cálculo lambda ..................................................................................... 225 9.3.1 aspectos gerais do cálculo lambda ................................................. 225 9.3.2 linguagem lambda ......................................................................... 227 9.3.3 variável livre e substituição ............................................................ 228 9.3.4 cálculo lambda ............................................................................... 231 9.3.5 tipos de dados básicos ................................................................... 233 9.3.6 recursão e ponto fixo ..................................................................... 236 9.3.7 cálculo lambda e computabilidade ................................................ 238 . . leitura complementar: linguagem de programação funcional - Haskell ................................. 239 . . exercícios .............................................................................................. 241 llLWJ"~ álgebras e /"'iolTlolTlorfislTlos 245 . . operações binárias ............................................................................... 247 II'D lIiII lIiII lIiII propriedades das operações binárias .................................................. 248 grupoides. semigrupos. monoides. grupos ......................................... 249 importantes propriedades dos monoides e grupos ............................ 253 homomorfismos ............................................................... '" ................. 254 10.5.1 10.5.2 10.5.3 l1iII II!II IrEI Im homomorfismo de grupoides e de semigrupos ............................ 255 homomorfismo de monoides ....................................................... 260 homomorfismo de grupos ........................................................... 262 monoide livre gerado e fecho de Kleene ............................................. 264 grafos ................................................................................................... 265 categorias ............................................................................................ 268 leitura complementar: álgebra. sintaxe e semântica .......................... 272 10.9.1 assinatura ....................................................................................273 10.9.2 álgebra ........................................................................................275 10.9.3 álgebra de termos ........................................................................ 278 10.9.4 categoria das L-álgebras .............................................................. 280 10.9.5 álgebra inicial ............................................................................... 282 Sumário 10.9.6 10.9.7 lII!Im sintaxe e semântica ...................................................................... 283 álgebras com variáveis e equações ............................................... 284 exercícios .............................................................................................. 286 ~ ~ ... r::eticulaêlos e álgelJr::a booleana l1li l1li 2~~ limitantes de conjuntos parcialmente ordenados ............................... 296 reticulados ........................................................................................... 302 11.2.1 11.2.2 IID xxi reticulado como relação de ordem .............................................. .302 reticulado como álgebra ............................................................. .305 tipos especiais de reticulados .............................................................. 308 11.3.1 11.3.2 11.3.3 reticulado distributivo .................................................................. 309 reticulado limitado ....................................................................... 31O reticulado complementado .......................................................... 311 l1li sub-reticulado ...................................................................................... 312 IID leitura complementar: primitivas para programação concorrente ..... 314 l1li l1li l1li álgebra booleana ................................................................................. 316 circuitos lógicos ................................................................................... 319 homomorfismos ................................................................................... 321 11.8.1 11.8.2 11.8.3 IID homomorfismo de c.p.O. ou função monotônica ........................ .322 homomorfismo de reticulados ..................................................... 324 homomorfismo de álgebras booleanas ........................................ 325 exercícios .............................................................................................. 326