Lógica Computacional

Documentos relacionados
Lógica Computacional

Lógica Computacional

Lógica Computacional

Algoritmia e Programação APROG. Algoritmia 1. Lógica Proposicional (Noções Básicas) Nelson Freire (ISEP DEI-APROG 2013/14) 1/12

Lógica Computacional

Lógica Computacional

Lógica Proposicional-2

Lógica Computacional

Lógica Computacional

Lógica Computacional. Normalização e Formas Normais. Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF. Algoritmos de Conversão

Lógica Proposicional-2

Introdução à Programação I

Lógica Computacional

01/09/2014. Capítulo 1. A linguagem da Lógica Proposicional

Lógica Computacional

Lógica Clássica Proposicional

Métodos de Verificação

Lógica Computacional

Matemática para Ciência de Computadores

Lógica Computacional

Proposições. Belo Horizonte é uma cidade do sul do Brasil = 4. A Terra gira em torno de si mesma. 5 < 3

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

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.

Conteúdo. Correção de Exercício Quantificadores Rosen (pg 33) Tradução Português Lógica Rosen (pg 42)

Lógica Proposicional e Dedução Natural 1/48. Douglas O. Cardoso docardoso.github.io

1 Lógica de primeira ordem

Introdução à Lógica Proposicional Sintaxe e Semântica

Afirmações Matemáticas

Matemática Discreta - 01

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

Prof. Jorge Cavalcanti

3 Cálculo Proposicional

Lógica Proposicional Parte 2

Lógica Proposicional

Lógica Proposicional Sintaxe

Lógica Proposicional Parte I. Raquel de Souza Francisco Bravo 11 de outubro de 2016

Lógica. Professor Mauro Cesar Scheer

Aula 2, 2014/2 Sintaxe da Lógica dos Conectivos

Lógica: Quadrado lógico:

Linguagens Lógicas. Aluno: Victor Rocha

Cálculo proposicional

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

Métodos para a construção de algoritmo

Lógica proposicional

Lógica para Computação. Álgebra de Boole

MATEMÁTICA DISCRETA CONCEITOS PRELIMINARES

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

PROVA COM CONETIVAS BOOLEANAS. Introdução-31

LÓGICA EM COMPUTAÇÃO

Capítulo 3. Álgebra de Bool

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.

FICHA de AVALIAÇÃO de MATEMÁTICA A 10.º Ano Versão 3

Lógica para computação - Linguagem da Lógica de Predicados

Aula 2: Linguagem Proposicional

J. Sebastião e Silva, Compêndio de Matemática, 1º Volume, 1º Tomo

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010

Lógica Computacional. Normalização e Formas Normais. Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF. Algoritmos de Conversão

Relações semânticas entre os conectivos da Lógica Proposicional(Capítulo 5)

Unidade: Proposições Logicamente Equivalentes. Unidade I:

FICHA de AVALIAÇÃO de MATEMÁTICA A 10.º Ano Versão 4

Lógica Matemática e Computacional. 3.1 Relações lógicas de Euler

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

Introdução. História. História 18/03/2012. Lógica para Ciência da Computação. O que é Lógica?

Lógica e Metodologia Jurídica

Lógica Proposicional e Álgebra de Boole

Cálculo proposicional

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

8. Expressões lógicas

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

Sistemas Digitais Álgebra de Boole Binária e Especificação de Funções

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

LÓGICA APLICADA A COMPUTAÇÃO

Lógica em Computação. .: Calculo Proposicional :. Prof. Luís Rodrigo

Lógica para Computação

Questões de Concursos Aula 02 CEF RACIOCÍNIO LÓGICO. Prof. Fabrício Biazotto

3 AULA. Valorações e Tabelas de Verdade LIVRO. META: Apresentar tabelas de verdade para classificar proposições lógicas.

Lógica Computacional

Lógica. Cálculo Proposicional. Introdução

1 TEORIA DOS CONJUNTOS

Fundamentos 1. Lógica de Predicados

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

Lógica Computacional. Argumentos válidos e sólidos. Métodos de demonstração. Demonstrações formais. Regras de Inferência Igualdade

Proposta de teste de avaliação

Capítulo 3 Lógica de Primeira Ordem

Fundamentos de Lógica e Algoritmos

Tema I Introdução à lógica bivalente e à teoria de conjuntos

Matemática discreta e Lógica Matemática

Inteligência Artificial IA II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO

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

LÓGICA I ANDRÉ PONTES

Utiliza variáveis binárias, i.e., que só podem assumir um de dois valores: {0,1}; {Low,High}; {True,False}; etc.

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

IME, UFF 3 de junho de 2014

CAPÍTULO 4 - OPERADORES E EXPRESSÕES

22. Análise Combinatória - Permutação - Repetição - Circular - Condicional Análise Combinatória - Combinação e Arranjo

Linguagem Computacional

7 Operadores e Expressões

Lógica e Metodologia Jurídica

Prof. Tiago Semprebom, Dr. Eng. 09 de abril de 2013

Transcrição:

Lógica Computacional Conectores Booleanos Negação, Conjunção e Disjunção Tradução de Linguagem Natural Fórmulas de 1ª ordem Definição indutiva 22 Setembro 2014 Lógica Computacional 1

Conectores Booleanos - Negação - A linguagem de 1ª ordem utilizada até agora só permite exprimir proposições simples. Mas a língua natural permite expressões arbitrariamente complexas. - Quando se pretende negar uma afirmação utiliza-se normalmente o advérbio de negação não. - Gramaticalmente um advérbio é uma palavra que altera o significado de um verbo. Por exemplo, na expressão voar depressa, o advérbio depressa qualifica o forma de voar não é um voo normal, nem lento, é um voo rápido. - A negação qualifica uma acção (verbo), contrariando-a completamente. Se a acção é verdadeira depois de negada torna-se falsa e vice-versa. 1. O Carlos conhece a Rita. 2. O Carlos não conhece a Rita. - As Linguagens de 1ª Ordem exprimir a negação através do símbolo de negação. 1. Conhece(carlos, rita). 2. Conhece(carlos, rita). 22 Setembro 2014 Lógica Computacional 2

Conectores Booleanos - Negação - Quando a negação é muito comum a linguagem natural contem verbos que já incluem a noção de negação na sua formação, normalmente através de prefixos omo in ou des. 1. O Carlos não conhece a Rita. 2. O Carlos desconhece a Rita. - Apesar de se poderem considerar diferentes graduações nestas afirmações (a 1ª será mais forte que a 2ª - para algumas pessoas em certos contextos), ambas se podem/devem exprimir através do símbolo de negação. 1. Conhece(carlos, rita). 22 Setembro 2014 Lógica Computacional 3

Conectores Booleanos - Negação - Podemos ainda comparar as frases abaixo e verificar que elas têm todas o mesmo significado embora com graduações ligeiramente diferentes. 1. O Carlos conhece a Rita. 2. Não é verdade que o Carlos desconheça a Rita. 3. Não é verdade que o Carlos não conheça a Rita.... o que conduz a que se atribua o mesmo valor de verdade a frases duplamente negadas. 1. Conhece(carlos, rita). 2. ( Conhece(carlos, rita)) Conhece(carlos, rita). 3. ( Conhece(carlos, rita)) Conhece(carlos, rita). - Este encadeamento pode ser arbitrariamente complexo Não é verdade que não seja verdade que o Carlos desconheça a Rita. Conhece(carlos, rita). 22 Setembro 2014 Lógica Computacional 4

Conectores Booleanos - Conjunção - Outra forma de obter proposições mais complexas a partir de proposição elementares é a através da sua conjunção. O Carlos conhece a Rita e o Jorge conhece a Maria. - Claramente esta frase inclui duas frases mais simples que podem ser agregadas através do símbolo de conjunção. Conhece(carlos, rita) Conhece(jorge, maria). - A linguagem natural factoriza frequentemente várias acções em frases simples, apresentando-as aparente como uma só acção. Mas na sua tradução para uma linguagem de 1ª ordem, a conjunção é sempre entre duas proposições! O Carlos conhece a Rita e a Maria. Conhece(carlos, rita) Conhece(carlos, maria)... mas não Conhece(carlos, rita maria)... nem Conhece(carlos, rita, maria) 22 Setembro 2014 Lógica Computacional 5

Conectores Booleanos - Conjunção - A conjunção em língua natural permite ainda exprimir alguma informação adicional. O Carlos encontrou-se com a Rita e foram jantar. O Carlos encontrou-se com a Rita mas não foram jantar - Tal como anteriormente as frases podem ser decompostas em frases mais simples através do símbolo de conjunção e da negação. Encontro(carlos, rita) jantar(carlos, rita). Encontro(carlos, rita) jantar(carlos, rita). - No primeiro caso existe alguma informação temporal implícita o encontro ocorreu antes do jantar. - No segundo caso, a conjunção adversativa permite antecipar um elemento de surpresa (neste caso a negação de algo que seria esperado no contexto). Mas tal como a conjunção coordenativa, também a conjunção adversativa é traduzida através do operador de conjunção. 22 Setembro 2014 Lógica Computacional 6

Conectores Booleanos - Disjunção - Outra forma de obter proposições mais complexas a partir de proposição elementares é a através da sua disjunção. O Carlos come a sopa ou a salada. - A disjunção, expressa pela conjunção disjuntiva ou, é expressa na linguagem de 1ª ordem pelo símbolo. Come(carlos, sopa) Come(carlos, salada). - Tal como na conjunção, a linguagem natural permite a factorização de frases simples, mas na sua tradução para uma linguagem de 1ª ordem, a disjunção é sempre entre duas proposições! Come(carlos, sopa) Come(carlos, salada).... mas não Come(carlos, sopa salada)... nem Come(carlos, sopa, salada) 22 Setembro 2014 Lógica Computacional 7

Conectores Booleanos - Disjunção - Um aspecto importante nesta tradução é distinguir entre a disjunção inclusiva e a exclusiva. No primeiro caso, ambas as frases disjuntas podem ser verdadeiras, enquanto que no segundo caso não se aceita a sua verdade simultânea. O Carlos come a sopa ou a salada. O Carlos vai ao cinema ou ao teatro. - A diferença muitas vezes apenas se pode verificar pelo contexto uma forma de as distinguir é acrescentar a frase..., mas pode fazer ambos (disjunção inclusiva) ou..., mas não pode fazer ambos (disjunção exclusiva) O Carlos come a sopa ou a salada,... mas pode comer ambas. O Carlos vai ao cinema ou ao teatro,... mas não pode ir aos dois. - Nota importante: O símbolo de disjunção é usado para a tradução da disjunção inclusiva. A disjunção exclusiva pode ser obtida através da disjunção, conjunção e negação (embora também se possa usar um conector booleano - que não usaremos). 22 Setembro 2014 Lógica Computacional 8

Conectores Booleanos Leis de de Morgan - É muito normal juntarmos negação, conjunção e disjunção em frases complexas. 1. O Carlos nem come a sopa nem a salada. 2. É falso que o Carlos coma quer a sopa quer a salada. - Estas duas frases têm o mesmo significado mas a sua tradução é feita através de uma dferente combinação de operadores Booleanos. 1. Come(carlos, sopa) Come(carlos, salada). 2. (Come(carlos, sopa) Come(carlos, salada)). - De notar a precedência dos operadores Booleanos. Em rigor, para evitar ambiguidades deveríamos sempre aplicar os operadores a frases parentisadas, mas muitos parênteses podem ser evitados se se considerarem as habituais relações de precedência entre operadores (, e, por esta ordem) 1. ( (Come(carlos, sopa))) ( (Come(carlos, salada))). 2. (Come(carlos, sopa) Come(carlos, salada)). 22 Setembro 2014 Lógica Computacional 9

Conectores Booleanos Leis de de Morgan - Uma composição semelhante de frases mais simples é exemplificada abaixo. 1. O Carlos não come a sopa ou a salada. 2. É falso que o Carlos coma a sopa e a salada. - Estas duas frases têm o mesmo significado mas a sua tradução é feita através de uma diferente combinação de operadores Booleanos. 1. Come(carlos, sopa) Come(carlos, salada). 2. (Come(carlos, sopa) Come(carlos, salada)). Os exemplos anteriores correspondem às conhecidas leis de de Morgan: - A negação da disjunção tem o mesmo significado da conjunção das negações. - A negação da conjunção tem o mesmo significado da disjunção das negações. 22 Setembro 2014 Lógica Computacional 10

Fórmulas de 1ª Ordem Definição Indutiva - Podemos agora apresentar uma definição formal do que são fórmulas de 1ª ordem (FPO). Elas podem ser arbitrariamente complexas, e podem ser caracterizadas através de uma definição indutiva, isto é, o conjunto de FPOs (fórmulas de 1ª ordem) constitui uma estrutura indutiva. - Desta muitas propriedades das fórmulas, nomeadamente sintáticas, podem ser formalmente inferidas através de indução estrutural, apresentada anteriormente. - Como com qualquer estrutura indutiva, a definição do conjunto de fórmulas de 1ª ordem, é composto por 3 partes: 1. Uma cláusula de base, que especifica os elementos básicos do conjunto 2. Uma ou mais cláusulas indutivas que explicam como se podem geral elementos do conjunto a partir de elementos conhecidos. 3. Uma cláusula de fecho, que indica que todos os elementos são obtidos a partir das cláusulas anteriores. 22 Setembro 2014 Lógica Computacional 11

Fórmulas de 1ª Ordem Definição Indutiva 1. Cláusula de Base Os elementos mais simples das FPOs são as proposições simples, constuídas pelos predicados aplicados a constantes ou funções definidas numa assinatura Σ. 2. Cláusulas Indutivas Se P e Q são FPOs, as seguintes fórmulas são ambas FPOs i. ( P) é uma FPO ii. (P Q) é uma FPO iii. (P Q) é uma FPO 3. Cláusulas de Fecho - Apenas as fórmulas obtidas pelas cláusulas anteriores são FPOs Nota: A definição exige que todas as sub-fórmulas não simples sejam parentisadas. Na prática, alguns parênteses podem ser eliminados se se adoptarem as regras de precedência. 22 Setembro 2014 Lógica Computacional 12

Fórmulas de 1ª Ordem Definição Indutiva Exemplo A formula abaixo é uma FPO. ( TemFome(carlos) (( Come(carlos,sopa)) ( Come(carlos, salada)))). De facto, a fórmula é do tipo (P ( ( Q) ( R))),... em que P = TemFome(carlos). Q = Come(carlos, sopa). R = Come(carlos, salada).... são proposições simples da linguagem com assinatura Σ = SF SP, em que : SF = {carlos, sopa, salada} SP = {TemFome/1, Come/2) 22 Setembro 2014 Lógica Computacional 13

Fórmulas de 1ª Ordem Definição Indutiva F1. (P ( ( Q) ( R))) A fórmula F1 é uma FPO se forem FPOs as fórmulas F2 e F3 abaixo, (regra 2.ii: ) F2. P, e F3. ( Q) ( R)) A fórmula F2 é uma proposição simples, logo é uma FPO (regra 1). A fórmula F3 é uma FPO se forem FPOs as formulas F4 e F5 abaixo (regra 2.iii: ). F4. Q, e F5. R As fórmula F4 e F5 são FPOs se forem FPOs F6 e F7 abaixo (regra 2.i: ). F6. Q, e F7. R Mas as fórmulas F6 e F7 são proposições simples, logo FPOs (regra 1). Fica assim verificado que F1 é uma FPO para a assinatura Σ = SF SP indicada. SP = {TemFome/1, Come/2) SF = {carlos, sopa, salada} 22 Setembro 2014 Lógica Computacional 14

Fórmulas de 1ª Ordem Definição Indutiva F1. (P ( ( Q) ( R))) ( TemFome(carlos) (( Come(carlos,sopa)) ( Come(carlos, salada)))). A estrutura indutiva das FPOs é bem patente na sua representação em árvore (em informática as árvores são apresentadas de cabeça para baixo!). P TemFome(carlos) Q Come(carlos,sopa) R Come(carlos,salada) 22 Setembro 2014 Lógica Computacional 15