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

Documentos relacionados
Matemática discreta e Lógica Matemática

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Aula 1: Introdução ao curso

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

Lógica Proposicional Métodos de Validação de Fórmulas. José Gustavo de Souza Paiva. Introdução

MATEMÁTICA DISCRETA CONCEITOS PRELIMINARES

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS DA NATUREZA CRITÉRIOS ESPECÍFICOS DE AVALIAÇÃO

Lógica Computacional. Métodos de Inferência. Passos de Inferência. Raciocínio por Casos. Raciocínio por Absurdo. 1 Outubro 2015 Lógica Computacional 1

Cálculo proposicional

No. Try not. Do... or do not. There is no try. - Master Yoda, The Empire Strikes Back (1980)

Referências e materiais complementares desse tópico

PLANIFICAÇÃO ANUAL DA DISCIPLINA DE MATEMÁTICA A

Introdução à Lógica Matemática

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

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Metas/ Objetivos Conceitos/ Conteúdos Aulas Previstas. Lógica e Teoria dos conjuntos: Introdução à lógica bivalente e à Teoria dos conjuntos

Lógica Computacional

Matemática para Ciência de Computadores

DEPARTAMENTO DE MATEMÁTICA E INFORMÁTICA DISCIPLINA:

aula 01 (Lógica) Ementa Professor: Renê Furtado Felix Site:

Metas/Objetivos/Domínios Conteúdos/Conceitos Número de Aulas

Demonstrações, Recursão e Análise de Algoritmo

DISCIPLINA: MATEMÁTICA DISCRETA I PROFESSOR: GISLAN SILVEIRA SANTOS CURSO: SISTEMAS DE INFORMAÇÃO SEMESTRE: TURNO: NOTURNO

DEPARTAMENTO DE MATEMÁTICA E INFORMÁTICA DISCIPLINA:

Análise I. Notas de Aula 1. Alex Farah Pereira de Agosto de 2017

Dedução Natural e Sistema Axiomático Pa(Capítulo 6)

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

P L A N I F I C A Ç Ã 0 E n s i n o S e c u n d á r i o

P L A N I F I C A Ç Ã O A N U A L

Para provar uma implicação se p, então q, é suficiente fazer o seguinte:

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

Análise de Algoritmos

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

Os Fundamentos: Lógica de Predicados

Lógica Computacional. Indução Matemática. Definições Indutivas. Demonstrações por Indução. Exemplos. 25 Novembro 2013 Lógica Computacional 1

Lógica para Computação

Lógica Computacional DCC/FCUP 2017/18

UNIP Ciência da Computação Prof. Gerson Pastre de Oliveira

Lógica Computacional

Professor conteudista: Ricardo Holderegger

PLANIFICAÇÃO A MÉDIO/LONGO PRAZO

DISTRIBUIÇÃO DOS DOMÍNIOS POR PERÍODO

Álgebra Linear e Geometria Analítica

AGRUPAMENTO DE ESCOLAS DE MIRA

Vimos que a todo o argumento corresponde uma estrutura. Por exemplo ao argumento. Se a Lua é cúbica, então os humanos voam.

Para Computação. Aula de Monitoria - Miniprova

Cálculo proposicional

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Agrupamento de Escolas General Humberto Delgado Sede na Escola Secundária/3 José Cardoso Pires Santo António dos Cavaleiros

LÓGICA I ANDRÉ PONTES

Unidade IV. Unidade III. Na álgebra booleana, estão todos os fundamentos da eletrônica digital.

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO. Escola Básica e Secundária Dr. Vieira de Carvalho. Departamento de Matemática e Ciências Experimentais

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 500. Planificação Anual /Critérios de avaliação

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO. Escola Básica e Secundária Dr. Vieira de Carvalho. Departamento de Matemática e Ciências Experimentais

MDI0001 Matemática Discreta Aula 04 Álgebra de Conjuntos

Planificação Anual /Critérios de avaliação. Disciplina: Matemática A _ 10º ano - CCH 2016/2017

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

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Lógica Computacional

Planificação do 1º Período

Bases Matemáticas. Como o Conhecimento Matemático é Construído. Aula 2 Métodos de Demonstração. Rodrigo Hausen. Definições Axiomas.

Técnicas de Demonstração. Raquel de Souza Francisco Bravo 17 de novembro de 2016

Lógica Computacional. Indução Matemática. Definições Indutivas. Demonstrações por Indução. Exemplos. 12 Dezembro 2016 Lógica Computacional 1

Matemática Discreta - 01

Planificação do 1º Período

Matemática Discreta - 04

ESCOLA ONLINE DE CIÊNCIAS FORMAIS CURSO DE INTRODUÇÃO À LÓGICA MATEMÁTICA (2) METALÓGICA DO CÁLCULO PROPOSICIONAL AULA 06 FORMAS NORMAIS

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Lógica Computacional

Como primeira e indispensável parte da Lógica Matemática temos o Cálculo Proporcional ou Cálculo Sentencial ou ainda Cálculo das Sentenças.

Lógica Proposicional Parte II. Raquel de Souza Francisco Bravo 25 de outubro de 2016

Fundamentos de Lógica Matemática

Introdu c ao ` a L ogica Matem atica Ricardo Bianconi

MDI0001 Matemática Discreta Aula 01

Lógica Computacional Aulas 8 e 9

Fundamentos de Lógica Lógica Proposicional

Planificação Anual Matemática A 10º Ano

1 Conjuntos, Números e Demonstrações

Fundamentos de Lógica Matemática

Números Inteiros Axiomas e Resultados Simples

Apresentação do curso

Álgebra de Boole binária

ORIENTAÇÃO. Leia o Guia Logístico de Avaliação UNITINS publicado no site

Funções potência da forma f (x) =x n, com n N

Lógica Computacional

Sumário. Capítulo 1 - Conhecendo os Vários Tipos de Problema... 1

Prof. Jorge Cavalcanti

Planificação Anual Matemática 10º Ano

Lógica Proposicional Propriedades Semânticas

Sumário. Os Enigmas de Sherazade I Ele fala a verdade ou mente? I I Um truque com os números... 14

Seminário Semanal de Álgebra. Técnicas de Demonstração

Símbolo Nome lê-se como Categoria = 10 significa que se se somar 4 a 6, a soma, ou resultado, é 10.

Afirmações Matemáticas

Lógica Computacional

Curso Científico- Humanístico de Ciências e Tecnologias. Curso Científico- Humanístico de Ciências Socioeconómicas

4. CONTEÚDOS. 10.º ano

UMA PROVA DE CONSISTÊNCIA

Organização de Computadores I

3.3 Cálculo proposicional clássico

Transcrição:

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

Introdução: O que é Lógica? Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 2 / 22

Introdução - O que é lógica? Vamos abrir o curso de Introdução à Lógica Computacional com uma pergunta: O que é lógica? Algumas definições (mais ou menos) formais incluem: A lógica (do grego antigo λoγικη) é o método de raciocínio conduzido ou avaliado de acordo com princípios estritos de validade. A lógica é o estudo sistemático das formas de inferência válidas, e das leis gerais da verdade. A lógica é o uso sistemático de técnicas matemáticas e simbólicas para determinar as formas de argumento dedutivo válido.... Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 3 / 22

Introdução - O que é lógica? Nas definições acima, alguns termos merecem destaque: raciocínio, verdade e validade, formas de inferência e argumento dedutivo, técnicas matemáticas e simbólicas, e princípios estritos, estudo sistemático e leis gerais. Neste curso vamos estudar cada um destes termos com o devido cuidado... Mas, no momento, é suficiente dizer que a intuição de lógica pode ser capturada informalmente como: A lógica é a ciência de não estar errado. Basicamente, é isso que vamos fazer neste curso: aprender a não estar errados, com especial atenção à computação! Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 4 / 22

Objetivos e Programa da Disciplina Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 5 / 22

ILC: Objetivos Ao final deste curso, espera-se que o(a) estudante seja capaz de responder às seguintes perguntas: 1. O que é a lógica proposicional, e como aplicá-la a problemas reais? 2. O que é a lógica de predicados, e como aplicá-la a problemas reais? 3. A partir de um conjunto dehipóteses, como realizar apenas deduções válidas? 4. Como demonstrar formalmente a veracidade de uma proposição matemática? 5. O que é o conceito de recursão, e como aplicá-lo a problemas reais? 6. Como a lógica Booleana é aplicada à base dos circuitos digitais que compõem os computadores modernos? Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 6 / 22

ILC: Programa 1. Fundamentos das lógicas proposicional e de predicados. a) Conectivos lógicos (conjunção, disjunções inclusiva e exclusiva, negação, implicação, implicação dupla). b) Tabelas da verdade. c) Satisfatibilidade, tautologias, contradições. d) Consequência lógica, equivalência lógica. e) Predicados, quantificadores, e proposições quantificadas. f) Regras de inferência. g) Expressividade das lógicas proposicional e de predicados. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 7 / 22

ILC: Programa 2. Métodos de demonstração. a) Demonstração direta, por contra-exemplo e por divisão em casos. b) Demonstração por contradição e por implicação contra-positiva. c) Demonstrações construtivas e não-construtivas. 3. Teoria de conjuntos e funções. a) Conjuntos dos números naturais, inteiros, racionais e reais. b) Teoria de conjuntos elementar. c) Funções injetivas, sobrejetivas e bijetivas. d) Conjuntos enumeráveis e não-enumeráveis. e) Somatórios e produtórios. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 8 / 22

ILC: Programa 4. Indução e recursão. a) Indução matemática fraca e forte. b) Princípio da boa ordenação. c) Relações de recorrência e recursão. d) Indução estrutural. 5. Fundamentos de álgebra Booleana e circuitos digitais combinatórios. a) Conversão entre bases numéricas. b) Álgebra Booleana e aritmética binária (incluindo leis de De Morgan e representação em complemento de dois). c) Portas lógicas. d) Formas normais conjuntiva e disjuntiva. e) Minimização de circuitos e mapas de Karnaugh. f) Completude de operadores. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 9 / 22

Um exemplo uso de lógica: Definindo os números Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 10 / 22

O papel da lógica na definição de números Começamos com uma motivação natural para a lógica: definir os números. Definir números rigorosamente é essencial. Computadores, por exemplo, manipulam números o tempo todo, e não contam (ainda) com a capacidade de entendê-los intuitivamente. Tudo precisa ser rigorosamente definido para computadores funcionarem bem. Porém, quando os matemáticos tentaram definir rigorosamente o conceito de número, muitas dificuldades surgiram. 1 Como conseguir uma definição finita para um conjunto infinito (como os naturais, ou os reais)? 2 Como demonstrar que sua definição está correta: que nenhum número errado está incluído nela, e que nenhum número certo está excluído? Para resolver estas dificuldades, muitas técnicas lógicos foram aprimoradas. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 11 / 22

O papel da lógica na definição de números Aqui definiremos conjuntos de números importantes: os números naturais N, os números inteiros Z, os números racionais Q, os números irracionais I, e os números reais R. Para isto, vamos usar vários conceitos que veremos com cuidado neste curso: conectivos lógicos para definir conjuntos, definições recursivas, uso de bases diferentes (decimal, binária) para representar números, como representar somas com infinitos termos (somatórios), e como demonstrar a veracidade de uma afirmação matemática. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 12 / 22

Os números naturais O conjunto dos números naturais é o conjunto N = {0, 1, 2, 3...}. Alguns autores não consideram o número 0 (zero) como um número natural, definindo N = {1, 2, 3,...}. O conjunto dos números naturais N pode ser definido através de duas observações auto-evidentes : N 1 : 0 (zero) é um número natural, e N 2 : cada número natural tem um sucessor. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 13 / 22

Os números naturais Reescrevendo estas observações auto-evidentes de maneira mais formal, obtemos os seguintes axiomas para os naturais: N 1 : 0 N, e N 2 : se k N, então s(k) N, onde s( ) é a função sucessor: s(k) = k + 1. Exemplos: 1 0 N, por causa de (N 1 ). 2 s(0) N, por causa de (N 2 ). Notação: s(0) = 1. 3 s(s(s(s(s(0))))) = 5 N. Para obter-se o número natural n, aplica-se (N 1 ) uma vez, e depois aplica-se (N 2 ) n vezes. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 14 / 22

Números naturais na representação decimal e binária Números naturais podem ser escritos em função de potências de 10. Exemplo 1 237 = 2 10 2 + 3 10 1 + 7 10 0 Entretanto, não há nada de especial na escolha de potências de 10 para decompor os números naturais. Podemos representar os números naturais em potências de 2, por exemplo. Exemplo 2 11101101 2 = 1 2 7 + 1 2 6 + 1 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 1 128 + 1 64 + 1 32 + 0 16 + 1 8 + 1 4 + 0 2 + 1 1 = 237 Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 15 / 22

Os números inteiros O conjunto dos números inteiros é o conjunto O conjunto Z = { 3, 2, 1, 0, 1, 2, 3...}. Z + = {1, 2, 3, 4, 5,...} é o conjunto dos números inteiros positivos. O conjunto dos números inteiros Z pode ser definido como sendo o conjunto de todos os números naturais e seus negativos: Z = {x x N ou x N}. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 16 / 22

Os números reais Outro conjunto importante é o conjunto dos números reais R. Exemplos: 1 π = 3.14159265359... 3 2 2 = 1.41421356237... 2 4 4.5 Um número real pode ser definido como uma soma infinita: d k d k 1 d 1 d 0. d 1 d 2 d 3 = k i= d i 10 i Exemplo 3 π = 3 10 0 + 1 10 1 + 4 10 2 + 1 10 3 + 5 10 4 +... = 3 + 0.1 + 0.04 + 0.001 + 0.0005 +... Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 17 / 22

Os números racionais O próximo conjunto de interesse é o dos números racionais Q. Um número racional é um numero real x tal que existam p, q Z, com q 0, tais que x = p q. Note sempre podemos usar a representação simplificada de racional, em que mdc(p, q) = 1. Exemplos: 1 17 34 = 9 18 = 1 2 = 0.5 2 1 3 = 1 3 = 1 3 = 0.333333... Teorema. Um número real é racional se, e somente se, há periodicidade na sua representação decimal. Exemplos: 1 1/5 = 0.2 000 000 000... 2 1/7 = 0. 142857 142857... Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 18 / 22

Os números irracionais O seguinte resultado mostra que nem todo número é racional, ou seja, que existem números irracionais (cujo conjunto é I). Teorema. 2 não é racional. Prova. Por contradição. Suponha o contrário do que queremos provar, ou seja, que 2 é racional. Neste caso, sabemos que existem números p, q Z, com mdc(p, q) = 1, tais que 2 = p/q. Elevando os dois lados da equação acima ao quadrado, obtemos 2 = p 2 /q 2, ou seja, p 2 = 2q 2. Note que 2q 2 é par, portanto pela igualdade acima p 2 também tem que ser par. Isto implica que p deve ser par. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 19 / 22

Os números irracionais Prova (Continuação). Agora, já que p é par, existe algum r Z tal que p = 2r. Isso implica que 2q 2 = p 2 = (2r) 2 = 4r 2, o que resulta em q 2 = 2r 2. Note que então q 2 é par, portanto q deve ser par. Mas se ambos p e q são pares, isto contradiz a suposição de que o mdc(p, q) = 1: encontramos uma contradição. Conclusão: não existem p, q Z, com q 0 e mdc(p, q) = 1, tais que 2 = p/q, portanto 2 não é racional. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 20 / 22

Observações sobre os números racionais e irracionais Alguns fatos interessantes sobre racionais e irracionais: a) O conjunto dos números reais é a união dos racionais e irracionais: R = Q I. b) Entre dois números racionais sempre existe um número irracional. c) Entre dois números irracionais sempre existe um número racional. d) A soma de dois números racionais é racional. e) A soma de um racional e um irracional é irracional. f) A soma de dois irracionais é mais complicada: não se sabe se π+e é racional ou não. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 21 / 22

Uma última questão complicada Vamos fechar com uma questão mais complicada sobre os números. A seguinte afirmação é verdadeira ou é falsa? O conjunto Z dos inteiros é maior que o conjunto N dos naturais. Há duas possibilidades: Se a afirmação for verdadeira, então existe um infinito maior que o outro! Mas se ela for falsa, então é possível um conjunto ter o mesmo tamanho que de um de seus subconjuntos próprios! Dilemas como este, em que nossa intuição não é de muita ajuda, dependem de métodos lógicos cuidadosos para ser resolvidos. Neste curso vamos resolver esta e muitas outras questões, e para isso vamos começar a estudar a lógica a fundo na próxima aula! Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 22 / 22