Lógica Matemática - LMA 0001 Rogério Eduardo da Silva - rogerio.silva@udesc.br Claudio Cesar de Sá - claudio.sa@udesc.br Universidade do Estado de Santa Catarina Departamento de Ciência da Computação 5 de junho de 2014
Conteúdo Programático: Apresentação da Disciplina Introdução à Lógica Proposicional Definições Básicas Construção de Tabelas-Verdade Implicação Lógica Equivalência Lógica Método Dedutivo Álgebra das Proposições Demonstração Direta Demonstração Condicional Demonstração Indireta Introdução à Lógica de Primeira Ordem Sentenças Abertas Predicados PROLOG 2 of 273
Método de Ensino Aulas expositivas em sala e em laboratório Listas de exercícios teóricos e práticos Atendimento presencial (sala do professor) e/ou através da lista de emails da disciplina lma-l@joinville.udesc.br 3 of 273
Avaliações 3 provas teóricas (30% da média semestral cada uma) [de Alencar Filho, 2000, de Souza, 2002]: 1. Conceitos básicos: tabelas-verdade, formas normais, implicação e equivalências lógica 2. Argumentação lógica: regras de inferência e de equivalência, demonstração condicional e por absurdo 3. Lógica de Primeira Ordem: Predicados, quantificadores, particularização/generalização Projeto de Implementação Lógica em PROLOG (10% da média semestral) Exame Final (caso média semestral < 7.0) Data prevista: 30 de Junho de 2014 4 of 273
Bibliografia Básica Sugerida de Alencar Filho, E. (2000). Iniciação à Lógica Matemática. Editora Nobel. de Souza, J. N. (2002). Lógica para a Ciência da Computação. Editora Campus. 5 of 273
6 of 273 Introdução à Lógica Proposicional
7 of 273
O que é Lógica? 8 of 273
O que é Lógica? Conhecimento das formas gerais e regras gerais do pensamento correto e verdadeiro, independentemente dos conteúdos pensados; regras para demonstração científica verdadeira; regras para pensamentos não-científicos; regras sobre o modo de expor o conhecimento; regras para verificação da verdade ou falsidade de um pensamento etc. [Marilena Chaui, Convite a Filosofia, 2002] 9 of 273
Conceitos Introdutórios Proposição conjunto de palavras ou símbolos que exprimem um pensamento (fatos ou juízos) de sentido completo Exemplos 1. A Lua é o satélite da Terra 2. Recife é a capital de Pernambuco 3. π > 5 4. 1 + 1 = 3 Princípios das Proposições Não contradição: uma proposição não pode ser verdadeira e falsa ao mesmo tempo Terceiro excluído: uma proposição é sempre ou verdadeira ou falsa, não existe terceira opção 10 of 273
Conceitos Introdutórios Proposições Verdadeiras 1. 1 + 1 = 2 2. A Lua é o satélite natural da Terra 3. Florianópolis e Recife são capitais de estados Proposições Falsas 1. Vasco da Gama descobriu o Brasil 2. 3 4 < 100 13 3. 3 5 é um número inteiro 11 of 273
Conceitos Introdutórios Determine V ou F para as afirmações abaixo 1. O Brasil já ganhou 5 títulos mundiais 12 of 273
Conceitos Introdutórios Determine V ou F para as afirmações abaixo 1. O Brasil já ganhou 5 títulos mundiais 2. π = 3.14 13 of 273
Conceitos Introdutórios Determine V ou F para as afirmações abaixo 1. O Brasil já ganhou 5 títulos mundiais 2. π = 3.14 3. Eu sempre minto 14 of 273
Conceitos Introdutórios Determine V ou F para as afirmações abaixo 1. O Brasil já ganhou 5 títulos mundiais 2. π = 3.14 3. Eu sempre minto Cuidado com paradoxos! 15 of 273
Conceitos Introdutórios Determine V ou F para as afirmações abaixo 1. O Brasil já ganhou 5 títulos mundiais 2. π = 3.14 3. Eu sempre minto Cuidado com paradoxos! I don t speak English 16 of 273
Conceitos Introdutórios Alfabeto Símbolos Ortográficos: ( ) Constantes Lógicas: True, False (V e F neste curso) Símbolos Proposicionais: p, q, r, s, p 1, r 2,... Conectores: ( ),,,, 17 of 273
Conceitos Introdutórios Fórmulas bem formadas (fbf) Constantes lógicas são fórmulas Símbolos proposicionais são fórmulas Operação negação: p Operação conjunção ( e ): p q Operação disjunção ( ou ): p q Operação disjunção exclusiva ( x-ou ): p q Operação condicional: p q Operação bicondicional:p q 18 of 273
Conceitos Introdutórios Tabelas-Verdade lista todos os possíveis valores lógicos de uma proposição composta, em função das combinações de todos os possíveis valores para cada proposição simples que a compõe Exemplo: p q Valores possíveis para p = V ou F (1 ou 0) Valores possíveis para q = V ou F (1 ou 0) p V V F F q V F V F p q 0 0 0 1 1 0 1 1 19 of 273
Conceitos Introdutórios Operações Lógicas: negação ( ) inversão do valor lógico de uma proposição p V F p F V 20 of 273
Conceitos Introdutórios Operações Lógicas: negação ( ) Exemplos em Linguagem Natural: p : O Sol é uma estrela p : O Sol não é uma estrela p : Carlos é um mecânico p : Não é verdade que Carlos é um mecânico p : É falso que Carlos é um mecânico 21 of 273
Conceitos Introdutórios Operações Lógicas: conjunção ( ) proposição composta que é verdadeira somente quando todas as proposições componentes forem verdadeiras p q p q V V V V F F F V F F F F 22 of 273
Conceitos Introdutórios Operações Lógicas: disjunção ( ) proposição composta que é verdadeira quando pelo menos uma das proposições componentes for verdadeira p q p q V V V V F V F V V F F F 23 of 273
Conceitos Introdutórios Operações Lógicas: disjunção exclusiva () proposição composta que é verdadeira somente quando exatamente uma das proposições componentes for verdadeira p q p q V V F V F V F V V F F F 24 of 273
Conceitos Introdutórios Operações Lógicas: condicional ( ) proposição que representa uma relação do tipo: se p então q p é chamado antecedente q é chamado consequente é chamado operador implicação p q p q V V V V F F F V V F F V 25 of 273
Conceitos Introdutórios Operações Lógicas: condicional ( ) Exemplos em Linguagem Natural: Se Maio tem 31 dias então a Terra é plana Se π é um número real então o Brasil fica na América do Sul 26 of 273
Conceitos Introdutórios Operações Lógicas: bi-condicional ( ) proposição que representa uma relação do tipo: p se e somente se q p q p q V V V V F F F V F F F V 27 of 273
Conceitos Introdutórios Exercícios Sejam as proposições Traduzir para linguagem natural: 1. p 2. p q 3. p q 4. p q 5. p q 6. p q p: Está frio q: Está chovendo 28 of 273
Conceitos Introdutórios Exercícios Traduzir para linguagem simbólica: 1. Marcos é alto e elegante 2. Marcos é alto mas não é elegante 3. Não é verdade que Marcos é baixo ou elegante 4. Marcos não é nem alto nem elegante 5. Marcos é alto ou é baixo e elegante 29 of 273
Conceitos Introdutórios Exercícios Determinar o valor lógico: 1. Roma é a capital da França ou tg45 = 1 2. Não é verdade que 12 é impar 3. 2 + 2 = 4 11 é primo 4. Se Brasília é a capital do Brasil então π = 0 5. Se Brasília é a capital do Brasil então argentinos falam espanhol 6. 3 + 2 = 7 5 + 5 = 10 10 > 3 3 7. 10 2 = 5 1 + 1 = 3 30 of 273
31 of 273 Construção de Tabelas-Verdade
Construção de Tabelas-Verdade Número de Linhas = 2 N, onde N = número de proposições Dois Métodos: 1. uma coluna por operador 2. uma coluna por símbolo 32 of 273
Construção de Tabelas-Verdade Método #1 - Uma coluna por operador. Exemplo: (p q) p V V F F q V F V F 33 of 273
Construção de Tabelas-Verdade Método #1 - Uma coluna por operador. Exemplo: (p q) p q q V V F V F V F V F F F V 34 of 273
Construção de Tabelas-Verdade Método #1 - Uma coluna por operador. Exemplo: (p q) p q q p q V V F F V F V V F V F F F F V F 35 of 273
Construção de Tabelas-Verdade Método #1 - Uma coluna por operador. Exemplo: (p q) p q q p q (p q) V V F F V V F V V F F V F F V F F V F V 36 of 273
Construção de Tabelas-Verdade Método #2 - Uma coluna por símbolo. Exemplo: (p q) 1 1 p q V V V F F V F F 37 of 273
Construção de Tabelas-Verdade Método #2 - Uma coluna por símbolo. Exemplo: (p q) 1 2 1 p q V F V V V F F F V F V F 38 of 273
Construção de Tabelas-Verdade Método #2 - Uma coluna por símbolo. Exemplo: (p q) 1 3 2 1 p q V F F V V V V F F F F V F F V F 39 of 273
Construção de Tabelas-Verdade Método #2 - Uma coluna por símbolo. Exemplo: (p q) 4 1 3 2 1 p q V V F F V F V V V F V F F F V V F F V F 40 of 273
Construção de Tabelas-Verdade Concluindo: Exemplo: (p q) P pq (VV, VF, FV, FF ) = (V, F, V, V ) ou P pq (00, 01, 10, 11) = (1, 1, 0, 1) 41 of 273
Construção de Tabelas-Verdade - Exercícios 1. (p q) (q p) 2. p r q r 3. (p q) (q r) (p r) 42 of 273
Construção de Tabelas-Verdade - Exercícios 1. (p q) (q p) P pq(vv, VF, FV, VV ) = (F, V, V, V ) 2. p r q r 3. (p q) (q r) (p r) 43 of 273
Construção de Tabelas-Verdade - Exercícios 1. (p q) (q p) P pq(vv, VF, FV, VV ) = (F, V, V, V ) 2. p r q r P pqr (VVV, VVF, VFV, VFF, FVV, FVF, FFV, FFF ) = (F, V, F, F, V, V, V, F ) 3. (p q) (q r) (p r) 44 of 273
Construção de Tabelas-Verdade - Exercícios 1. (p q) (q p) P pq(vv, VF, FV, VV ) = (F, V, V, V ) 2. p r q r P pqr (VVV, VVF, VFV, VFF, FVV, FVF, FFV, FFF ) = (F, V, F, F, V, V, V, F ) 3. (p q) (q r) (p r) P pqr (VVV, VVF, VFV, VFF, FVV, FVF, FFV, FFF ) = (V, V, V, V, V, V, V, V ) 45 of 273
Valor Lógico de uma Proposição É obtido a partir da substituição das proposições componentes por seus respectivos valores lógicos. Exemplo: qual o valor lógico da proposição: (p q) p q p: A Terra é um planeta q: Maio tem 30 dias 46 of 273
Valor Lógico de uma Proposição É obtido a partir da substituição das proposições componentes por seus respectivos valores lógicos. Exemplo: qual o valor lógico da proposição: (p q) p q p: A Terra é um planeta q: Maio tem 30 dias (V F ) V F (V ) F V F F V 47 of 273
Valor Lógico de uma Proposição - Exercícios 1. Para p = falso e q = falso, determine (p q) (p p q) 2. Para p = verdade e q, r = falso, determine (q (r p)) (( q p) r) 3. Para r = verdade, determine: p q r 4. Para q = verdade, determine: (p q) ( q p) 48 of 273
Uso de Parênteses A expressão p q r pode ser interpretada de duas formas (com valores lógicos distintos): 1. (p q) r 2. p (q r) 49 of 273
Uso de Parênteses Ordem de Precedência dos conectivos: 1. 2. 3. 4. Exercício: Monte a representação hierárquica para as expressões abaixo: 1. p q 2. p q r 3. (p q r) 4. p q p 5. p (q p) 6. q p r s t 50 of 273
Uso de Parênteses Ordem de Precedência dos conectivos: 1. 2. 3. 4. 5. (...) os símbolos de parênteses ( ) são então utilizados como modificadores da ordem de precedência. 51 of 273
Construção de Tabelas-Verdade - Exercícios 1. (p q) 2. (p q) 3. p q p q 4. p (q p) 5. (p q) p q 6. q q p 7. (p q) p q 52 of 273
Construção de Tabelas-Verdade - Exercícios Suprimir o maior número de parênteses possível (de forma a não alterar a expressão): 1. ((q (r q)) (p ( ( q)))) 2. ((p ( ( q))) (q (r q))) 3. (((p q) ( r)) (((( q) r) q))) 53 of 273
Tautologias, Contradições e Contingências Tautologia (): Toda proposição P pqr... que, independente dos valores lógicos de suas proposições componentes, resulte sempre em verdade. Exemplo: (p p) p p p p (p p) V F F V F V F V P p (V, F ) = (V, V ) = 54 of 273
Tautologias, Contradições e Contingências Outros exemplos: p p p (p q) p q (p q) p (q q) p p r q r ((p q) r) (p (q r)) 55 of 273
Tautologias, Contradições e Contingências Tautologia (): Princípio da Substituição Se P pqr... é uma tautologia então P p0q 0r 0... também será uma tautologia, independente dos valores de p 0, q 0, r 0,... 56 of 273
Tautologias, Contradições e Contingências Contradição ( ): Toda proposição P pqr... que, independente dos valores lógicos de suas proposições componentes, resulte sempre em falsidade. Exemplo: p p p p p p V F F F V F P p (V, F ) = (F, F ) = 57 of 273
Tautologias, Contradições e Contingências Outros exemplos: p p (p q) (p q) p (p q) 58 of 273
Tautologias, Contradições e Contingências Contingência: Toda proposição P pqr... que não é nem uma tautologia nem uma contradição. Exemplo: p p p p p p V F F F V V P p (V, F ) = (F, V ) 59 of 273
Tautologias, Contradições e Contingências - Exercícios Classifique as proposições abaixo como tautológicas, contraditórias ou contingentes: 1. (p p) (p p) 2. p (p q q) 3. (p q) (p r q r) 60 of 273
61 of 273 Implicação Lógica
Implicação Lógica Diz-se que uma proposição P pqr... implica logicamente uma proposição Q pqr..., se estas repectivamente nunca assumirem os valores lógicos V e F simultaneamente. Representação: P pqr... Q pqr... Toda proposição implica logicamente uma tautologia: P pqr... Só uma contradição implica logicamente outra contradição: Atenção: o símbolo define uma relação lógica entre duas fórmulas P pqr... e Q pqr... Por outro lado, o símbolo define uma operação lógica entre duas fórmulas P pqr... e Q pqr.... Aqui tem tabela-verdade, no caso acima não. 62 of 273
Implicação Lógica Sua definição operacional é dada por: Para verificar se duas fórmulas se relacionam logicamente entre si, isto é, P pqr... Q pqr..., deve-se contruir as tabelas-verdade de P pqr... e Q pqr... Em toda linha de avaliação de P pqr... for Verdade, então naquela linha em Q pqr... também deverá ser Verdade Em outras palavras, a definição da relação de implicação lógica ( ), segue a tabela-verdade da operação ou conectivo lógico da implicação ( ) 63 of 273
Implicação Lógica Propriedades: Propriedade Reflexiva: P pqr... P pqr... Propriedade Transitiva: se P pqr... Q pqr... e Q pqr... R pqr... então P pqr... R pqr... Para p q, p q e p q: p q p q p q p q Para p q, p q e q p: p q p q p q q p 64 of 273
Implicação Lógica Regras de Inferência: p p q Adição: q p q 65 of 273
Implicação Lógica Regras de Inferência: p p q Adição: q p q Simplificação: p q p p q q 66 of 273
Implicação Lógica Regras de Inferência: p p q Adição: q p q Simplificação: Silogismo Disjuntivo: p q p p q q (p q) p q (p q) q p 67 of 273
Implicação Lógica Regras de Inferência: p p q Adição: q p q Simplificação: Silogismo Disjuntivo: p q p p q q (p q) p q (p q) q p Modus Ponens: (p q) p q 68 of 273
Implicação Lógica Regras de Inferência: p p q Adição: q p q Simplificação: Silogismo Disjuntivo: p q p p q q (p q) p q (p q) q p Modus Ponens: (p q) p q Modus Tollens: (p q) q p 69 of 273
Implicação Lógica Regras de Inferência: p p q Adição: q p q Simplificação: Silogismo Disjuntivo: p q p p q q (p q) p q (p q) q p Modus Ponens: (p q) p q Modus Tollens: (p q) q p Silogismo Hipotético: (p q) (q r) (p r) 70 of 273
Implicação Lógica Regras de Inferência: p p q Adição: p p q Simplificação: Silogismo Disjuntivo: p q p p q q (p q) p q (p q) q p Modus Ponens: (p q) p q Modus Tollens: (p q) q p Silogismo Hipotético: (p q) (q r) (p r) Princípio da Inconsistência: p p p q 71 of 273
Implicação Lógica - Exercicios 1. Mostre que: 1.1 q p q 1.2 q p q p 2. Mostre que p q não implica p q 3. Mostre que (X 0 X = Y ) X Y X = 0 72 of 273
73 of 273 Equivalência Lógica
Equivalência Lógica Diz-se que uma proposição P pqr... é logicamente equivalente a uma proposição Q pqr..., se as tabelas-verdade dessas proposições forem idênticas. Tautologias são sempre equivalentes: Contradições são sempre equivalentes: 74 of 273
Equivalência Lógica Propriedades: Dupla Negação: p p 75 of 273
Equivalência Lógica Propriedades: Dupla Negação: p p Regra de CLAVIUS: ( p p) p 76 of 273
Equivalência Lógica Propriedades: Dupla Negação: p p Regra de CLAVIUS: ( p p) p Regra da Absorção: (p p q) (p q) 77 of 273
Equivalência Lógica Propriedades: Dupla Negação: p p Regra de CLAVIUS: ( p p) p Regra da Absorção: (p p q) (p q) (p q) p q 78 of 273
Equivalência Lógica Propriedades: Dupla Negação: p p Regra de CLAVIUS: ( p p) p Regra da Absorção: (p p q) (p q) (p q) p q (p q) (p q) (q p) 79 of 273
Equivalência Lógica Propriedades: Dupla Negação: p p Regra de CLAVIUS: ( p p) p Regra da Absorção: (p p q) (p q) (p q) p q (p q) (p q) (q p) (p q) ( p q) ( q p) 80 of 273
Equivalência Lógica - Exercício Prove que: (p q falso) (p q) 81 of 273
Equivalência Lógica - Exercício Prove que: (p q falso) (p q) p q q p q p q falso p q p q falso p q V V F F V V V V F V V F F V F V F F V V V F F V F V V V 82 of 273
Equivalência Lógica Dada p q temos: Proposição Recíproca: q p Proposição Contrária: p q Proposição Contrapositiva: q p 83 of 273
Equivalência Lógica Logo: p q q p p q p q q p p q q p V V V V V V V F F V V F F V V F F V F F V V V V q p p q 84 of 273
Equivalência Lógica - Exercícios 1. Determine a proposição contrapositiva 1.1 Se X é menor que zero então X não é positivo 1.2 Se X 2 é ímpar então X é ímpar 2. Determine: 2.1 A contrapositiva da contrapositiva de p q 2.2 A contrapositiva da recíproca de p q 2.3 A contrapositiva da contrária de p q 3. Determine: 3.1 A contrapositiva de p q 3.2 A contrapositiva de p q 3.3 A contrapositiva da recíproca de p q 3.4 A recíproca da contrapositiva de p q 85 of 273
Equivalência Lógica - Conectivos de Scheffer Negação conjunta ( p q) também indicada por (p q), portanto (p q) ( p q) Negação disjunta ( p q) também indicada por (p q), portanto (p q) ( p q) 86 of 273
Equivalência Lógica - Exercícios Demonstrar por tabelas-verdade as seguintes equivalências lógicas: 1. p (p q) p 2. q p q p q 3. (p q) (p r) p q r 4. p q (p q) (p q) 5. (p q) (q p) q p 87 of 273
88 of 273 Método Dedutivo
Álgebra das Proposições Propriedades da Conjunção Idempotente p p p Comutativa p q q p Associativa (p q) r p (q r) Identidade p true p p false false 89 of 273
Álgebra das Proposições Propriedades da Disjunção Idempotente p p p Comutativa p q q p Associativa (p q) r p (q r) Identidade p true true p false p 90 of 273
Álgebra das Proposições Propriedades da Conjunção e da Disjunção Distributiva Absorção Regra de DE MORGAN p (q r) (p q) (p r) p (q r) (p q) (p r) p (p q) p p (p q) p (p q) p q (p q) p q 91 of 273
Álgebra das Proposições - Exercício Apresente a negação das proposições abaixo: É inteligente e estuda É médico ou professor 92 of 273
Álgebra das Proposições - Exercício Apresente a negação das proposições abaixo: É inteligente e estuda É médico ou professor Conclusões: p q ( p q) p q ( p q) 93 of 273
Álgebra das Proposições Negação da Condicional: Se p q p q então sua negação é dada por (p q) ( p q) ( p q) p q CUIDADO!: Condicional não apresenta as propriedades idempotente, comutativa e associativa. 94 of 273
Álgebra das Proposições Negação da Bicondicional: Se p q (p q) (q p) então sua negação é dada por (p q) (( p q) ( q p)) (( p q) ( q p)) (p q) (q p) CUIDADO!: Bicondicional não é idempotente, mas é comutativa e associativa. 95 of 273
Álgebra das Proposições - Exercício Prove: 1. p q r (p q) (p r) 2. p q r (p q) (p r) 96 of 273
Método Dedutivo Seja falso p podemos concluir que 97 of 273
Método Dedutivo Seja falso p podemos concluir que (falso) p verdade p verdade 98 of 273
Método Dedutivo Seja falso p podemos concluir que (falso) p verdade p verdade Seja p verdade então: 99 of 273
Método Dedutivo Seja falso p podemos concluir que (falso) p verdade p verdade Seja p verdade então: p verdade verdade 100 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de simplificação p q p 101 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de simplificação p q p p q p (hipótese inicial) 102 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de simplificação p q p p q p (p q) p (hipótese inicial) (equivalência condicional) 103 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de simplificação p q p p q p (hipótese inicial) (p q) p (equivalência condicional) ( p q) p (regra de DE MORGAN) 104 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de simplificação p q p p q p (hipótese inicial) (p q) p (equivalência condicional) ( p q) p (regra de DE MORGAN) p ( q p) (associativa) 105 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de simplificação p q p p q p (hipótese inicial) (p q) p (equivalência condicional) ( p q) p (regra de DE MORGAN) p ( q p) (associativa) p (p q) (comutativa) 106 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de simplificação p q p p q p (hipótese inicial) (p q) p (equivalência condicional) ( p q) p (regra de DE MORGAN) p ( q p) (associativa) p (p q) (comutativa) ( p p) q (associativa) 107 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de simplificação p q p p q p (hipótese inicial) (p q) p (equivalência condicional) ( p q) p (regra de DE MORGAN) p ( q p) (associativa) p (p q) (comutativa) ( p p) q (associativa) (verdade) q (tautologia) 108 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de simplificação p q p p q p (hipótese inicial) (p q) p (equivalência condicional) ( p q) p (regra de DE MORGAN) p ( q p) (associativa) p (p q) (comutativa) ( p p) q (associativa) (verdade) q (tautologia) verdade (identidade) Lembrar que: verdade 109 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de adição p p q p p q (hipótese inicial) 110 of 273
Método Dedutivo Demonstre pelo método dedutivo que a implicação de adição p p q p p q (hipótese inicial) p (p q) (equivalência condicional) ( p p) q (associativa) (verdade) q (tautologia) verdade (identidade) 111 of 273
Método Dedutivo Demonstre pelo método dedutivo a regra Modus Ponens: (p q) p q 112 of 273
Método Dedutivo Demonstre pelo método dedutivo a regra Modus Ponens: (p q) p q (p q) p q (hipótese inicial) ( p q) p q (equivalência condicional) p ( p q) q (comutativa) (p p) (p q) q (distributiva) ( ) (p q) q (contradição) (p q) q (identidade) 113 of 273
Método Dedutivo Demonstre pelo método dedutivo a regra Modus Tollens: (p q) q p 114 of 273
Método Dedutivo Demonstre pelo método dedutivo a regra Modus Tollens: (p q) q p (p q) q p (hipótese inicial) ( p q) q p (equivalência condicional) ( p q) (q q) p (distributiva) ( p q) p (contradição) ( p q) p (identidade) 115 of 273
Método Dedutivo Demonstre pelo método dedutivo a regra Silogismo Disjuntivo: (p q) p q 116 of 273
Método Dedutivo Demonstre pelo método dedutivo a regra Silogismo Disjuntivo: (p q) p q (p q) p q (hipótese inicial) (p p) (q p) q (distributiva) (q p) q (contradição) (q p) q (identidade) 117 of 273
Método Dedutivo Resumo até o momento: 1. F pqrs... G pqrs... significa: 1.1 Que estas duas fórmulas apresentam uma relação de equivalência verdadeira entre si, a TV de F é igual a TV de G 1.2 Ainda, podemos transformar F pqrs... em G pqrs... usando outras regras de equivalência, e vice-versa G pqrs... em F pqrs... 2. Quanto F pqrs... G pqrs... significa: 2.1 Significa que F pqrs... tem uma relação de implicação verdadeira para fórmula G pqrs... 2.2 Para mostrar que isto é verdadeiro, demonstra-se que a implicação é uma tautologia, isto é: F pqrs... G pqrs... terá que levar a 2.3 Ou F pqrs... G pqrs... usando outras regras de equivalências (verdades entre duas fórmulas) 118 of 273
Método Dedutivo Onde vamos usar isto? 1. Faz parte o conceito fundamental do que é um teorema lógico 2. Antecipando (mas não muito), um conjunto de fórmulas vai confirmar ou não uma conclusão (C), isto é: 3. Essencialmente, isto é perguntar se: {F 1, F 2, F 3,...F n } C {F 1, F 2, F 3,...F n } C 4. Ou se: {F 1, F 2, F 3,...F n } C 119 of 273
Método Dedutivo Mas para chegar lá, faltam alguns detalhes de como transformar fórmulas entre si Uma fórmula transformada em outra... mantem-se equivalente! 120 of 273
Método Dedutivo Redução do números de conectivos: 1.,, em termos de, : p q ( p q) p q p q p q ( ( p q) ( q p)) 2.,, em termos de, : p q ( p q) p q (p q) p q (p q) ( p q) 3.,, em termos de, : p q p q p q (p q) p q ((p q) (q p)) 121 of 273
Forma Normal das Proposições São proposições que (no máximo) contém os conectivos,,. Tipos: FNC Formal Normal Conjuntiva FND Formal Normal Disjuntiva 122 of 273
Forma Normal Conjuntiva - FNC contém (no máximo) os conectivos,, não aparece repetido ( ) não tem alcance sobre,, ou seja, só afeta proposições simples não tem alcance sobre como em (p (q r)) Exemplos de FNC: p p q p q r q r ( p q) ( q r) 123 of 273
Forma Normal Conjuntiva - FNC Como determinar a FNC equivalente? 1. Substituir os conectivos 2. Substituir os conectivos 3. Substituir dupla negações ( ) 4. Substituir negações de parênteses (X Y ) e (X Y ) 5. Aplicar a regra da distributiva onde tem alcance sobre 6. Simplificar as expressões equivalentes a ou 124 of 273
Forma Normal Conjuntiva - FNC Converter a expressão abaixo para sua forma normal conjuntiva (((p q) q) (q r)) 125 of 273
Forma Normal Conjuntiva - FNC Converter a expressão abaixo para sua forma normal conjuntiva (((p q) q) (q r)) 1. ((p q) q) (q r) 2. ( (p q) q) ( q r) 3. (( p q) q) ( q r) 4. ( p q) ( q q) ( q r) 5. ( p q) () ( q r) 6. ( p q) ( q r) 126 of 273
Forma Normal Conjuntiva - FNC Converter a expressão abaixo para sua forma normal conjuntiva (p q) ( q p) 1. ( p q) ( q p) 2. ( p q) (q p) 3. ( ( p q) (q p)) ( (q p) ( p q)) 4. (( p q) (q p)) (( q p) ( p q)) 5. ((p q) (q p)) (( q p) ( p q)) 6. (p (q p)) ( q (q p)) ( q ( p q)) (p ( p q)) 7. (p ( p q)) (( q q) p) ( q (q p)) ((p p) q) 8. ((p p) q) (( q q) p) (( q q) p) ((p p) q) 9. (() q) (() p) (() p) (() q) 10. () () () () 11. 127 of 273
Forma Normal Conjuntiva - FNC Converter a expressão abaixo para sua forma normal conjuntiva p q r 1. ( p q r) ( (q r) p) 2. ( p q r) (( q r) p) 3. ( p q r) (( q r) p) 4. ( p q r) ( q p) (r p) 128 of 273
Forma Normal Disjuntiva - FND contém (no máximo) os conectivos,, não aparece repetido ( ) não tem alcance sobre,, ou seja, só afeta proposições simples não tem alcance sobre como em (p (q r)) Exemplos de FND: p p q p q r q r ( p q) ( q r) 129 of 273
Forma Normal Disjuntiva - FND Converter a expressão abaixo para sua forma normal disjuntiva (p q) (q p) 1. ( p q) ( q p) 2. (( p q) q) (( p q) p) 3. ( p q) (q q) ( p p) (q p) 4. ( p q) ( ) ( ) (q p) 5. ( p q) (q p) 130 of 273
Forma Normal Disjuntiva - FND Converter a expressão abaixo para sua forma normal disjuntiva (((p q) q) (q r)) 1. ((p q) q) (q r) 2. ( (p q) q) ( q r) 3. (( p q) q) ( q r) 4. ((( p q) q) q) ((( p q) q) r) 5. ( p q q) (q q) ( p q r) (q r) 6. ( p ( q q)) ( ) ( p q r) (q r) 7. ( p q) ( p q r) (q r) 131 of 273
Método Dedutivo Se uma proposição só contém os conectivos,, então se trocarmos cada símbolo por e vice-versa, dá-se o nome de dual à proposição resultante. Exemplo: ((p q) r) e sua dual ((p q) r) Princípio da Dualidade: se p e q são proposições equivalentes que só contém os conectivos,,, então suas duais p 1 e q 1 são também equivalentes. 132 of 273
Método Dedutivo - Exercícios 1. Simplifique as proposições 1.1 ( p q) 1.2 (p q) ( p q) 2. Use o método dedutivo para demonstrar 2.1 (p q) (p r) (p q r) 3. Determine a FNC 3.1 p q 3.2 p p 3.3 p (q p) 4. Determine a FND 4.1 ( p q) 4.2 (p q) p 133 of 273
134 of 273 Demonstração Direta (ou natural)
Demonstração Direta - Argumentos Dadas as proposições (premissas) p 1, p 2,..., p n e uma conclusão q, denota-se que: p 1, p 2,..., p n q Validade de Argumento: um argumento é considerado válido se p 1 p 2... p n q Exemplo: p p q é sempre válido 135 of 273
Demonstração Direta - Argumentos Argumentos Válidos Fundamentais Adição (AD) p p q Simplificação (SIMP) p q p p q q Conjunção (CONJ) p, q p q Absorção (ABS) p q p (p q) Modus Ponens (MP) p q, p q Modus Tollens (MT) p q, q p 136 of 273
Demonstração Direta - Argumentos Argumentos Válidos Fundamentais Silogismo Disjuntivo (SD) p q, p q p q, q p Silogismo Hipotético (SH) p q, q r p r Dilema Construtivo (DC) p q, r s, p r q s Dilema Destrutivo (DD) p q, r s, q s p r 137 of 273
Demonstração Direta - Argumentos Regras de Inferência Escreve-se as premissas (em coluna), um traço horizontal e então escreve-se a conclusão Exemplo para a regra Modus Ponens (MP) p q p q p r s q p r s q 138 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p r q 139 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p r q p r p por (SIMP) 140 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p r q p r p por (SIMP) p q p q por (MP) 141 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p r s p s 142 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p r s p s (1) p q (2) p r s 143 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p r s p s (1) p q (2) p r s (3) p (1) por (SIMP) 144 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p r s p s (1) p q (2) p r s (3) p (1) por (SIMP) (4) p r (3) por (AD) 145 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p r s p s (1) p q (2) p r s (3) p (1) por (SIMP) (4) p r (3) por (AD) (5) s (2, 4) por (MP) 146 of 273
Validade mediante Regras de Inferência Verifique a validade para p (q r), p q, p r (1) p (q r) (2) p q (3) p 147 of 273
Validade mediante Regras de Inferência Verifique a validade para p (q r), p q, p r (1) p (q r) (2) p q (3) p (4) q r (1, 3) por (MP) 148 of 273
Validade mediante Regras de Inferência Verifique a validade para p (q r), p q, p r (1) p (q r) (2) p q (3) p (4) q r (1, 3) por (MP) (5) q (2, 3) por (MP) 149 of 273
Validade mediante Regras de Inferência Verifique a validade para p (q r), p q, p r (1) p (q r) (2) p q (3) p (4) q r (1, 3) por (MP) (5) q (2, 3) por (MP) (6) r (4, 5) por (MP) 150 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p q r, (p r) p (1) p q (2) p q r (3) (p r) 151 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p q r, (p r) p (1) p q (2) p q r (3) (p r) (4) p p q (1) por (ABS) 152 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p q r, (p r) p (1) p q (2) p q r (3) (p r) (4) p p q (1) por (ABS) (5) p r (2, 4) por (SH) 153 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p q r, (p r) p (1) p q (2) p q r (3) (p r) (4) p p q (1) por (ABS) (5) p r (2, 4) por (SH) (6) p p r (5) por (ABS) 154 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p q r, (p r) p (1) p q (2) p q r (3) (p r) (4) p p q (1) por (ABS) (5) p r (2, 4) por (SH) (6) p p r (5) por (ABS) (7) p (3, 6) por (MT) 155 of 273
Validade mediante Regras de Inferência Verifique a validade para p q r, r q (p (s t)), p s s t (1) p q r (2) r q (p (s t)) (3) p s 156 of 273
Validade mediante Regras de Inferência Verifique a validade para p q r, r q (p (s t)), p s s t (1) p q r (2) r q (p (s t)) (3) p s (4) p (3) por (SIMP) (5) p q (4) por (AD) (6) r (1, 5) por (MP) (7) r q (6) por (AD) (8) p (s t) (2, 7) por (MP) (9) s t (4, 8) por (MP) 157 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p (r q), ( s r) q, s r 158 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p (r q), ( s r) q, s r (1) p q (2) p (r q) (3) ( s r) q (4) s (5) s r (4) por (AD) (6) q (3, 5) por (MP) (7) p (1, 6) por (MT) (8) r q (2, 7) por (MP) (9) r (6, 8) por (MT) 159 of 273
Validade mediante Regras de Inferência Verifique a validade para p q r, r s, t u, t, s u (p q) 160 of 273
Validade mediante Regras de Inferência Verifique a validade para p q r, r s, t u, t, s u (p q) (1) p q r (2) r s (3) t u (4) t (5) s u (6) u (3, 4) por (MP) (7) s (5, 6) por (SD) (8) r (2, 7) por (MT) (9) (p q) (1, 8) por (MT) 161 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p ( r q), s r, (p q) s q 162 of 273
Validade mediante Regras de Inferência Verifique a validade para p q, p ( r q), s r, (p q) s q 163 of 273 (1) p q (2) p ( r q) (3) s r (4) (p q) (5) p p q (1) por (ABS) (6) p (4, 5) por (MP) (7) r q (2, 6) por (SD) (8) r (7) por (SIMP) (9) s (3, 8) por (MT) (10) s q (9) por (AD)
Validade mediante Regras de Inferência e Equivalência Regra da Substituição Uma proposição p ou apenas parte dela pode ser substituída por uma proposição q equivalente, sendo que a proposição resultante será equivalente a p 164 of 273
Validade mediante Regras de Inferência e Equivalência Equivalências Notáveis Idempotência (ID) Comutação (COM) Associação (ASSOC) Distribuição (DIST) p p p p p p p q q p p q q p Dupla Negação (DN) p p p (q r) (p q) r p (q r) (p q) r p (q r) (p q) (p r) p (q r) (p q) (p r) 165 of 273
Validade mediante Regras de Inferência e Equivalência Equivalências Notáveis De Morgan (DM) (p q) p q (p q) p q Condicional (COND) p q p q Bicondicional (BICOND) Contraposição (CP) p q q p p q (p q) (q p) p q (p q) ( p q) Exportação Importação (EI) p q r p (q r) 166 of 273
Validade mediante Regras de Inferência e Equivalência Demonstrar: p q, q p 167 of 273
Validade mediante Regras de Inferência e Equivalência Demonstrar: p q, q p (1) p q (2) q (3) q p (1) por (CP) (4) q p (3) por (DN) (5) p (2, 4) por (MP) 168 of 273
Validade mediante Regras de Inferência e Equivalência Demonstrar: p q, r q p r 169 of 273
Validade mediante Regras de Inferência e Equivalência Demonstrar: p q, r q p r (1) p q (2) r q (3) q r (2) por (CP) (4) q r (3) por (DN) (5) p r (1, 4) por (SH) 170 of 273
Validade mediante Regras de Inferência e Equivalência Demonstrar: p (q r), p q s p s 171 of 273
Validade mediante Regras de Inferência e Equivalência Demonstrar: p (q r), p q s p s (1) p (q r) (2) p q s (3) (p q) (p r) (1) por (DIST) (4) p q (3) por (SIMP) (5) s (2, 4) por (MP) (6) s p (5) por (AD) (7) p s (6) por (COM) 172 of 273
Validade mediante Regras de Inferência e Equivalência Demonstrar: p q, q s, t (r s) p t 173 of 273
Validade mediante Regras de Inferência e Equivalência Demonstrar: p q, q s, t (r s) p t (1) p q (2) q s (3) t (r s) (4) (q s) (s q) (2) por (BICOND) (5) q s (4) por (SIMP) (6) p s (1, 5) por (SH) (7) (t r) (t s) (3) por (DIST) (8) t s (7) por (SIMP) (9) s t (8) por (COM) (10) s t (9) por (COND) (11) p t (6, 10) por (SH) 174 of 273
Validade mediante Regras de Inferência e Equivalência Princípio da Inconsistência Quando duas ou mais proposições não podem ser simultaneamente verdadeiras Exemplo: (p q), p r, q r 175 of 273
Validade mediante Regras de Inferência e Equivalência Demonstrar a inconsistência entre: (p q), p r, q r (1) (p q) (2) p r (3) q r (4) p q (1) por (DM) (5) p q (4) por (DN) (6) q (5) por (SIMP) (7) r (3, 6) por (MP) (8) p (5) por (SIMP) (9) r (2, 8) por (SD) (10) r r (7, 9) por (CONJ) (11) (10) por (CONTR) 176 of 273
177 of 273 Demonstração Condicional
Demonstração Condicional Seja o argumento este só é válido se a regra p 1, p 2,..., p N A B (p 1 p 2... p N ) (A B) Aplicando a regra da importação temos (p 1 p 2... p N ) A B portanto, conclui-se que: p 1, p 2,..., p N, A B 178 of 273
Demonstração Condicional Demonstrar: p (q r), r q p (1) p (q r) (2) r 179 of 273
Demonstração Condicional Demonstrar: p (q r), r q p (1) p (q r) (2) r (3) q por (Dem.C) p 180 of 273
Demonstração Condicional Demonstrar: p (q r), r q p (1) p (q r) (2) r (3) q por (Dem.C) p (4) p ( q r) (1) por (COND) (5) (p q) r (4) por (ASSOC) (6) p q (2, 5) por (SD) (7) p (3, 6) por (SD) 181 of 273
Demonstração Condicional Demonstrar: p q r, s (r t), p s, s q t 182 of 273
Demonstração Condicional Demonstrar: p q r, s (r t), p s, s q t (1) p q r (2) s (r t) (3) p s (4) s (5) q por (Dem.C) t (6) p s (3) por (COND) (7) p (4, 6) por (MT) (8) q r (1, 7) por (MP) (9) q r (8) por (COND) (10) r t (2, 4) por (SD) (11) q t (9, 10) por (SH) (12) t (5, 11) por (MP) 183 of 273
Demonstração Condicional Demonstrar: p q, r s, ( p t) (r u) q s 184 of 273
Demonstração Condicional Demonstrar: p q, r s, ( p t) (r u) q s (1) p q (2) r s (3) ( p t) (r u) (4) q por (Dem.C) s (5) p (1, 4) por (MT) (6) p (5) por (DN) (7) p t (6) por (AD) (8) p t (7) por (DN) (9) ( p t) (8) por (DM) (10) r u (3, 9) por (SD) (11) r (10) por (SIMP) (12) s (2, 11) por (MP) 185 of 273
186 of 273 Demonstração Indireta (ou por Absurdo)
Demonstração por Absurdo Consiste em admitir a negação da conclusão ( Q) como sendo uma nova premissa E então, demonstrar logicamente que o novo argumento é inconsistente: p 1, p 2,..., p N, Q 187 of 273
Demonstração por Absurdo Demonstrar: p q, r q (p r) 188 of 273
Demonstração por Absurdo Demonstrar: p q, r q (p r) (1) p q (2) r q (3) (p r) por (Dem.Ab.) (4) p r (3) por (DN) (5) p (4) por (SIMP) (6) r (4) por (SIMP) (7) q (1, 5) por (MP) (8) q (2, 6) por (MP) (9) q q (7, 8) por (CONJ) (10) (9) por (CONTR) 189 of 273
Demonstração por Absurdo Demonstrar: p q, q r, r p s 190 of 273
Demonstração por Absurdo Demonstrar: p q, q r, r p s (1) p q (2) q r (3) r (4) (p s) por (Dem.Ab.) (5) p s (4) por (DM) (6) p (5) por (SIMP) (7) q (1, 6) por (MP) (8) q (2, 3) por (SD) (9) q q (7, 8) por (CONJ) (10) (9) por (CONTR) 191 of 273
Demonstração por Absurdo Demonstrar: p q, q, r s, p (s t) t r 192 of 273
Demonstração por Absurdo Demonstrar: p q, q, r s, p (s t) t r (1) p q (2) q (3) r s (4) p (s t) (5) t por (Dem.C) r (6) r por (Dem.Ab.) (7) p (1, 2) por (SD) (8) s t (4, 7) por (MP) (9) s (3, 6) por (MP) (10) t (8, 9) por (MP) (11) t t (5, 10) por (CONJ) (12) (11) por (CONTR) 193 of 273
Demonstração por Absurdo Demonstre por absurdo: (1) (y 1 z 1) (2) (x < y x > z) z = 1 x = 0 (3) (y = 1 x = 0) (x < y x > z) x = 0 194 of 273
Demonstração por Absurdo Demonstre por absurdo: (1) (y 1 z 1) (2) (x < y x > z) z = 1 x = 0 (3) (y = 1 x = 0) (x < y x > z) (4) x 0 por (Dem.Ab.) (5) y = 1 z = 1 (1) por (DM) (6) y = 1 (5) por (SIMP) (7) y = 1 x = 0 (6) por (AD) (8) x < y x > z (3, 7) por (SD) (9) z = 1 (5) por (SIMP) (10) (x < y x > z) z = 1 (8, 9) por (CONJ) (11) x = 0 (2, 10) por (MP) (12) x 0 x = 0 (4, 11) por (CONJ) (13) (12) por (CONTR) 195 of 273
196 of 273 Introdução à Lógica de Primeira Ordem
Lógica de Primeira Ordem Lógica de Primeira Ordem (LPO) é uma extensão à Lógica Proposicional onde cada proposição p, q, r,... é entendida como um conjunto de proposições pertencentes a um dado conjunto (chamado de domínio) p(x) : x A p(x) é uma sentença aberta em um conjunto A, se e somente se, p(x) se torna uma proposição para todo x = a, a A Se a A e Φ(p(a)) = verdade diz-se que a satisfaz p(x) Exemplo: seja N = 1, 2, 3,... x + 1 > 8 x 2 5x + 6 = 0 197 of 273
Conjunto-Verdade para Sentenças Abertas É definido com o conjunto (V p ) de todos os elementos a A tais que Φ(p(a)) = verdade Exemplo: x + 1 > 8 em N (números naturais) V p = {x x N x + 1 > 8} = {8, 9, 10,...} Considerações Condição Universal V p = A, Φ(p(x)) é verdade para todo x A Condição Possível V p A, Φ(p(x)) é verdade para algum x A Condição Impossível V p = φ, Φ(p(x)) é verdade para nenhum x A 198 of 273
Sentenças Abertas Duas Variáveis p(x, y) é uma sentença aberta em dois domínios A e B, se e somente se, p(x, y) se torna uma proposição para todo par (a, b) A B Se a A, b B e Φ(p(a, b)) = verdade diz-se que (a, b) satisfaz p(x, y) Exemplo: seja A = {1, 2, 3} e B = {5, 6} x < y y = 2x 199 of 273
Conjunto-Verdade para Sentenças Abertas É o conjunto (V p ) de todos os elementos (a, b) A B tais que Φ(p(a, b)) = verdade V p = {(x, y) x A y B Φ(p(x, y))} Considerações Condição Universal V p = A B, Φ(p(x, y)) é verdade para todo (x, y) A B Condição Possível V p A B, Φ(p(x, y)) é verdade para algum (x, y) A B Condição Impossível V p = φ, Φ(p(x, y)) é verdade para nenhum (x, y) A B 200 of 273
Sentenças Abertas N-Variáveis p(x 1, x 2,..., x N ) é uma sentença aberta em N domínios A 1, A 2,..., A N, se e somente se, p(x 1, x 2,..., x N ) se torna uma proposição para toda tupla (a 1, a 2,..., a N ) A 1 A 2... A N 201 of 273
Exercícios Determinar o conjunto-verdade (V p ) para 1. 2x = 6 2. x 1 < 4 3. x 2 < 25...considerando: A = números naturais A = {1, 3, 4, 7, 9, 11} 202 of 273
Operações Lógicas sobre Sentenças Abertas Conjunção V p q = V p V q = {x A p(x)} {x A q(x)} Disjunção V p q = V p V q = {x A p(x)} {x A q(x)} Negação V p = Ā = {x A A p(x)} 203 of 273
Operações Lógicas sobre Sentenças Abertas Condicional Se p(x) q(x) então p(x) q(x) V p q = V p V q = {x A A p(x)} {x A q(x)} Bicondicional Se p(x) q(x) então (p(x) q(x)) (q(x) p(x)) V p q = (V p V q) (V q V p) A álgebra das proposições que era válida para proposições atômicas e compostas, continua válida para sentenças abertas 204 of 273
Exercícios Determina o conjunto-verdade para A = {1... 10} 1. x < 7 x é ímpar 2. x é par x + 2 10 3. x é primo x + 5 A 4. (x é primo) 5. (x 2 3x = 0) 6. x + 5 A x < 0 7. x 2 < 12 x 2 5x + 6 = 0 205 of 273
Quantificadores Expressam relações lógicas de quantidade entre variáveis e seus respectivos domínios Tipos: Quantificador Universal ( ) Quantificador Existencial ( ) 206 of 273
Quantificador Universal Para uma sentença aberta p(x) em um conjunto não-vazio A, onde para todo elemento x A, temos Φ(p(x)) = verdade Φ( x A : p(x)) p(x 1) p(x 2) p(x 3)... p(x N ) ou simplesmente Φ( x : p(x)) conclui-se que V p = A Exemplo: Todo x é mortal no domínio dos seres humanos 207 of 273
Quantificador Universal - Exercício Seja D = [ 10... 15 ] x D : x 2 5 Interprete e avalia a validade da expressão acima 208 of 273
Quantificador Universal - Exercício Seja D = [ 10... 15 ] x D : x 2 5 Interprete e avalia a validade da expressão acima Φ( x D : x 2 5) = Φ( 10 2 5) Φ( 11 2 5) Φ( 12 2 5) Φ( 13 2 5) Φ( 14 2 5) Φ( 15 2 5) 209 of 273
Quantificador Universal - Exercício Seja D = [ 10... 15 ] x D : x 2 5 Interprete e avalia a validade da expressão acima Φ( x D : x 2 5) = Φ( 10 2 5) Φ( 11 2 5) Φ( 12 2 5) Φ( 13 2 5) Φ( 14 2 5) Φ( 15 2 5) Φ( x D : x 2 5) = V V V V V V = V 210 of 273
Quantificador Existencial Para uma sentença aberta p(x) em um conjunto não-vazio A, onde para pelo menos um elemento x A, temos Φ(p(x)) = verdade Φ( x A : p(x)) p(x 1) p(x 2) p(x 3)... p(x N ) ou simplesmente Φ( x : p(x)) conclui-se que V p A Exemplo: Existe pelo menos um x que é homem no domínio dos seres humanos 211 of 273
Quantificador Existencial - Exercício Seja D = [ 10... 15 ] x D : mod(x, 3) = 0 Interprete e avalia a validade da expressão acima 212 of 273
Quantificador Existencial - Exercício Seja D = [ 10... 15 ] x D : mod(x, 3) = 0 Interprete e avalia a validade da expressão acima Φ( x D : mod(x, 3) = 0) = Φ(mod(10, 3) = 0) Φ(mod(11, 3) = 0) Φ(mod(12, 3) = 0) Φ(mod(13, 3) = 0) Φ(mod(14, 3) = 0) Φ(mod(15, 3) = 0) Φ( x D : mod(x, 3) = 0) = F F V F F V = V 213 of 273
Variável Aparente e Variável Livre Se há um quantificador incidindo sobre uma variável, essa se chama variável aparente. Caso contrário, chama-se variável livre Em outras palavras, variáveis aparentes estarão sempre associadas a domínios, e portanto para tais é possível a sua interpretação (Φ) Exemplos: x A : 3x + 1 > 10 x + 3 = 4 Princípio da Substituição de Variáveis Aparentes x A : p(x) y A : p(y) x A : p(x) y A : p(y) 214 of 273
Quantificador de Existência e Unicidade Para x 2 = 16 sobre o conjunto dos números reais (R) temos: portanto conclui-se que: 4 2 = 16 ( 4) 2 = 16 4 4 x, y R : (x 2 = 16 y 2 = 16 x y) Para x 3 = 27 temos: x R : (x 3 = 27) (x 3 = 27) (y 3 = 27) (x = y) portanto:!x R : (x 3 = 27) 215 of 273
Negação de Quantificadores Regra de DE MORGAN para quantificadores ( x A : p(x)) x A : p(x) ( x A : p(x)) x A : p(x) 216 of 273
Quantificadores N-Variáveis Quantificação Parcial x A : (2x + y < 7), onde A = {1... 5} Quantificação Múltipla x A, y B : (2x + y < 7), onde A = {1... 5}, B = {3, 4, 5} 217 of 273
Negação de Múltiplos Quantificadores ( x y : p(x, y)) x ( y : p(x, y)) x y : p(x, y) 218 of 273
Lógica de Primeira Ordem Slides do Prof. José Augusto Baranauskas Fonte: http://dfm.ffclrp.usp.br/~augusto (Modificados para se adequarem a esta disciplina com autorização do autor) 219 of 273
Lógica Proposicional vs. Lógica de Predicados Na lógica proposicional, utilizamos proposições para a representação de conceitos. Ex.: p : o céu é azul Na lógica de predicados (ou lógica de primeira ordem) utilizaremos: 1. Objetos pertencentes a um dado domínio (D) 2. Fatos sobre objetos 3. Relações ou relacionamento entre os objetos de domínios: D = D 1 D 2... D N 220 of 273
Lógica Proposicional vs. Lógica de Predicados O objetivo (motivação) de se utilizar LPO é aumentar a capacidade de representação de conceitos Todo homem é mortal Sócrates é um homem Logo... Sócrates é um mortal 221 of 273
Lógica Proposicional vs. Lógica de Predicados O objetivo (motivação) de se utilizar LPO é aumentar a capacidade de representação de conceitos Todo homem é mortal x HUMANIDADE : (homem(x) mortal(x)) Sócrates é um homem homem(socrates) Logo... Sócrates é um mortal 222 of 273 homem(socrates) mortal(socrates) por Particularização Universal mortal(socrates) por Modus Ponens
Lógica de Predicados Problema: representar o fato de que todas as mulheres do DCC são bonitas Lista de mulheres do DCC: Ana, Laura, Cláudia, Bianca, Fernanda, Paula, Joana, Maria,... Antes, no cálculo proposicional, seria necessário criar uma proposição para cada caso: 1. p: Ana é bonita 2. q: Laura é bonita 3. r: Cláudia é bonita 4. s: Bianca é bonita 5. e assim por diante... Fácil perceber que rapidamente faltarão símbolos proposicionais! 223 of 273
Lógica de Predicados Solução: representar o fato através de variáveis relacionadas com o domínio DCC x DCC : mulher(x) bonita(x) E ainda, como o domínio é conhecido e fixo, é usual a representação do fato sem explicitar o domínio: x : mulher(x) bonita(x) 224 of 273
Lógica de Predicados - Representação Símbolos Constantes representam objetos específicos do domínio. São representados por letras minúsculas ou números: a, maria, bola, 10, 7.43 Símbolos Variáveis representam objetos não-específicos (instanciáveis) que podem assumir apenas os valores de um domínio. São representados por letras maiúsculas: X, Y, PESSOA Símbolos Funcionais representam funções no domínio D: f : D N D onde N é o número de argumentos da função (Aridade). Não possuem valor lógico. Exemplo: idade(joao) Φ(idade(joao)) = 23 Símbolos Predicados representam relação ou propriedade p de um ou mais objetos no domínio D p : D N {V, F }. São representados por nome que iniciam com letra minúscula. Exemplo: gosta(x, Y ) empresta(fulano, Objeto, Alguem) 225 of 273
Lógica de Predicados - Representação Termos é o menor elemento para construção de fatos e regras de primeira ordem. Constantes, variáveis e funções são exemplos de termos. É denominado tupla a um conjunto de termos: (t 1, t 2,..., t N ) Átomo é um símbolo predicado aplicado a uma tupla de termos: p(t 1, t 2,..., t N ). Exemplos: gosta(joao, maria) irmao(pedro, X ) empresta(maria, livro, mae(joao)) Símbolo de Igualdade usado para indicar que dois símbolos se referem ao mesmo objeto: pai(joao) = henrique Símbolos Conectivos continuam válidos os símbolos,,,,, com o acréscimo dos símbolos, 226 of 273
Lógica de Predicados - Propriedades Particularização dada uma fórmula com variáveis aparentes (associadas a um domínio), particularizar significa associar um dos elementos pertencentes ao domínio à variável. Denota-se por variável/valor. Tipos: Particularização Universal (PU) ou Particularização Existencial (PE) Por exemplo: dado X D : gato(x ) e D = [frajola, felix, garfield]; uma possível PU é dada por gato(frajola) PU (X /frajola) Generalização dado um domínio (ou vários), generalizar uma fórmula (para ou ) desde que as variáveis envolvidas não estejam relacionadas a outras já existentes. Tipos: Generalização Universal (GU) ou Generalização Existencial (GE) Exemplo: dado o conjunto D = [frajola, garfield, snoopy]; uma possível GE seria X D : gato(x ) GU em D 227 of 273
Lógica de Predicados - Exercícios LN LPO Traduzir da linguagem natural (LN) para linguagem de primeira ordem (LPO): 1. Todos os homens são mortais 2. Alguns gatos são amarelos 3. Nenhuma baleia é peixe 4. Nem tudo que reluz é ouro 5. Meninas e meninos gostam de brincar 6. Leite e banana são nutritivos 228 of 273
Lógica de Predicados - Exercícios LN LPO Traduzir da linguagem natural (LN) para linguagem de primeira ordem (LPO): 1. Todos os homens são mortais 2. Alguns gatos são amarelos 3. Nenhuma baleia é peixe 4. Nem tudo que reluz é ouro 5. Meninas e meninos gostam de brincar 6. Leite e banana são nutritivos 229 of 273 X : (homem(x ) mortal(x )) X : (gato(x ) amarelo(x )) X : (baleia(x ) peixe(x )) X : (reluz(x ) ouro(x )) ( X : (reluz(x ) ouro(x ))) X : (menino(x ) menina(x ) gosta(x, brincar)) X : (leite(x ) banana(x ) nutritivo(x ))
Lógica de Predicados - Exercícios LPO LN Traduzir da linguagem de primeira ordem (LPO) para linguagem natural (LN): 1. X Y : (pessoa(x ) pessoa(y ) engana(x, Y ) engana(x, X )) 2. X Y : (humano(x ) erro(y ) faz(x, Y )) 3. X Y : (erro(y ) faz(x, Y ) humano(x )) 230 of 273
Lógica de Predicados - Exercícios LPO LN Traduzir da linguagem de primeira ordem (LPO) para linguagem natural (LN): 1. X Y : (pessoa(x ) pessoa(y ) engana(x, Y ) engana(x, X )) Pessoas que enganam outras pessoas, enganam a si mesmas 2. X Y : (humano(x ) erro(y ) faz(x, Y )) Todas as pessoas cometem erros 3. X Y : (erro(y ) faz(x, Y ) humano(x )) Não é humano quem não erra 231 of 273
Inferência em LPO O processo para especificação de conhecimento inferível em LPO é dado através de fatos e regras Fatos representam enumerações dos elementos de um domínio. São informações que se conhece como verdadeiras. É através de um conjunto de fatos que é possível se realizar a operação de particularização. Exemplo: gato(felix) Regras são generalizações de domínios para situações específicas. Exemplo: X gato(x ) agil(x ) Exercício: Prove que Felix é ágil 232 of 273
Inferência em LPO O processo para especificação de conhecimento inferível em LPO é dado através de fatos e regras Fatos representam enumerações dos elementos de um domínio. São informações que se conhece como verdadeiras. É através de um conjunto de fatos que é possível se realizar a operação de particularização. Exemplo: gato(felix) Regras são generalizações de domínios para situações específicas. Exemplo: X : gato(x ) agil(x ) Exercício: Prove que Felix é ágil agil(felix) 233 of 273
Inferência em LPO (1) gato(felix) (2) X : gato(x ) agil(x ) agil(felix) 234 of 273
Inferência em LPO (1) gato(felix) (2) X : gato(x ) agil(x ) agil(felix) (3) gato(felix) agil(felix) (2) por (PU) X/felix (4) agil(felix) (1, 3) por (MP) 235 of 273
Inferência em LPO Considere uma lista de cidades: Joinville, Itajaí, Blumenau, Balneário Camboriú, Florianópolis Considere agora que essas cidades são conectadas por estradas, conforme a figura a seguir Determine se existe algum caminho entre duas cidades. Há um caminho entre duas cidades se: 1. as duas cidades são conectadas por uma estrada 2. existe uma cidade intermediária (escala) que é conectada à cidade de origem a partir da qual há um caminho para a cidade destino Demonstre que há um caminho que ligue a cidade de Joinville à cidade de Florianópolis 236 of 273
Inferência em LPO 237 of 273
Inferência em LPO - Passo #1 = Definir o domínio (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) 238 of 273
Inferência em LPO - Passo #2 = Definir as regras (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) 239 of 273
Inferência em LPO - Passo #3 = Definição da Hipótese (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) caminho(joinville, florianopolis) 240 of 273
Inferência em LPO - Passo #4 = Inferência (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) (8) estrada(joinville, itajai) caminho(itajai, florianopolis) caminho(joinville, florianopolis) (7) por (PU) Origem/joinville Escala/itajai Destino/florianopolis caminho(joinville, florianopolis) 241 of 273
Inferência em LPO - Passo #4 = Inferência (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) (8) estrada(joinville, itajai) caminho(itajai, florianopolis) caminho(joinville, florianopolis) (7) por (PU) (9) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) caminho(itajai, florianopolis) (7) por (PU) Origem/joinville Escala/itajai Destino/florianopolis Origem/itajai Escala/balneariocamboriu Destino/florianopolis caminho(joinville, florianopolis) 242 of 273
Inferência em LPO - Passo #4 = Inferência (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) (8) estrada(joinville, itajai) caminho(itajai, florianopolis) caminho(joinville, florianopolis) (7) por (PU) (9) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) caminho(itajai, florianopolis) (7) por (PU) (10) estrada(balneariocamboriu, florianopolis) caminho(balneariocamboriu, florianopolis) (6) por (PU) Origem/joinville Escala/itajai Destino/florianopolis Origem/itajai Escala/balneariocamboriu Destino/florianopolis Origem/balneariocamboriu Destino/florianopolis caminho(joinville, florianopolis) 243 of 273
Inferência em LPO - Passo #4 = Inferência (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) (8) estrada(joinville, itajai) caminho(itajai, florianopolis) caminho(joinville, florianopolis) (7) por (PU) Origem/joinville Escala/itajai Destino/florianopolis (9) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) caminho(itajai, florianopolis) (7) por (PU) Origem/itajai Escala/balneariocamboriu Destino/florianopolis (10) estrada(balneariocamboriu, florianopolis) caminho(balneariocamboriu, florianopolis) (6) por (PU) Origem/balneariocamboriu Destino/florianopolis (11) caminho(balneariocamboriu, florianopolis) (5, 10) por (MP) caminho(joinville, florianopolis) 244 of 273
Inferência em LPO - Passo #4 = Inferência (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) (8) estrada(joinville, itajai) caminho(itajai, florianopolis) caminho(joinville, florianopolis) (7) por (PU) Origem/joinville Escala/itajai Destino/florianopolis (9) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) caminho(itajai, florianopolis) (7) por (PU) Origem/itajai Escala/balneariocamboriu Destino/florianopolis (10) estrada(balneariocamboriu, florianopolis) caminho(balneariocamboriu, florianopolis) (6) por (PU) Origem/balneariocamboriu Destino/florianopolis (11) caminho(balneariocamboriu, florianopolis) (5, 10) por (MP) (12) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) (3, 11) por (CONJ) caminho(joinville, florianopolis) 245 of 273
Inferência em LPO - Passo #4 = Inferência (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) (8) estrada(joinville, itajai) caminho(itajai, florianopolis) caminho(joinville, florianopolis) (7) por (PU) Origem/joinville Escala/itajai Destino/florianopolis (9) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) caminho(itajai, florianopolis) (7) por (PU) Origem/itajai Escala/balneariocamboriu Destino/florianopolis (10) estrada(balneariocamboriu, florianopolis) caminho(balneariocamboriu, florianopolis) (6) por (PU) Origem/balneariocamboriu Destino/florianopolis (11) caminho(balneariocamboriu, florianopolis) (5, 10) por (MP) (12) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) (3, 11) por (CONJ) (13) caminho(itajai, florianopolis) (9, 12) por (MP) caminho(joinville, florianopolis) 246 of 273
Inferência em LPO - Passo #4 = Inferência (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) (8) estrada(joinville, itajai) caminho(itajai, florianopolis) caminho(joinville, florianopolis) (7) por (PU) Origem/joinville Escala/itajai Destino/florianopolis (9) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) caminho(itajai, florianopolis) (7) por (PU) Origem/itajai Escala/balneariocamboriu Destino/florianopolis (10) estrada(balneariocamboriu, florianopolis) caminho(balneariocamboriu, florianopolis) (6) por (PU) Origem/balneariocamboriu Destino/florianopolis (11) caminho(balneariocamboriu, florianopolis) (5, 10) por (MP) (12) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) (3, 11) por (CONJ) (13) caminho(itajai, florianopolis) (9, 12) por (MP) (14) estrada(joinville, itajai) caminho(itajai, florianopolis) (1, 13) por (CONJ) caminho(joinville, florianopolis) 247 of 273
Inferência em LPO - Passo #4 = Inferência (1) estrada(joinville, itajai) (2) estrada(joinville, blumenau) (3) estrada(itajai, balneariocamboriu) (4) estrada(blumenau, balneariocamboriu) (5) estrada(balneariocamboriu, florianopolis) (6) Origem Destino : estrada(origem, Destino) caminho(origem, Destino) (7) Origem Destino : estrada(origem, Escala) caminho(escala, Destino) caminho(origem, Destino) (8) estrada(joinville, itajai) caminho(itajai, florianopolis) caminho(joinville, florianopolis) (7) por (PU) Origem/joinville Escala/itajai Destino/florianopolis (9) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) caminho(itajai, florianopolis) (7) por (PU) Origem/itajai Escala/balneariocamboriu Destino/florianopolis (10) estrada(balneariocamboriu, florianopolis) caminho(balneariocamboriu, florianopolis) (6) por (PU) Origem/balneariocamboriu Destino/florianopolis (11) caminho(balneariocamboriu, florianopolis) (5, 10) por (MP) (12) estrada(itajai, balneariocamboriu) caminho(balneariocamboriu, florianopolis) (3, 11) por (CONJ) (13) caminho(itajai, florianopolis) (9, 12) por (MP) (14) estrada(joinville, itajai) caminho(itajai, florianopolis) (1, 13) por (CONJ) (15) caminho(joinville, florianopolis) (8, 14) por (MP) caminho(joinville, florianopolis) 248 of 273
Inferência em LPO - Exercício Traduzir os conhecimentos abaixo para LPO (fatos ou regras): 1. Marcos era um homem 2. Todos os homens e mulheres são pessoas 3. Marcos nasceu em Pompeia 4. Todos os que nasceram em Pompeia eram romanos 5. Cesar era um soberano 6. Todos os romanos eram leais a Cesar ou o odiavam 7. As pessoas só tentam assassinar soberanos aos quais não são leais 8. Marcos tentou assassinar Cesar Prove que: Marcos odeia Cesar 249 of 273
Inferência em LPO - Exercício (1) homem(marcos) (2) X : homem(x ) mulher(x ) pessoa(x ) (3) pompeano(marcos) (4) X : pompeano(x ) romano(x ) (5) soberano(cesar) (6) X : romano(x ) leal a(x, cesar) odeia(x, cesar) (7) X Y : pessoa(x ) soberano(y ) tenta assassinar(x, Y ) leal a(x, Y ) (8) tenta assassinar(marcos, cesar) odeia(marcos, cesar) 250 of 273
Inferência em LPO - Exercício (1) homem(marcos) (2) X : homem(x ) mulher(x ) pessoa(x ) (3) pompeano(marcos) (4) X : pompeano(x ) romano(x ) (5) soberano(cesar) (6) X : romano(x ) leal a(x, cesar) odeia(x, cesar) (7) X Y : pessoa(x ) soberano(y ) tenta assassinar(x, Y ) leal a(x, Y ) (8) tenta assassinar(marcos, cesar) (9) pessoa(marcos) soberano(cesar) tenta assassinar(marcos, cesar) leal a(marcos, cesar) (7) por (PU) X /marcos Y /cesar (10) homem(marcos) mulher(marcos) pessoa(marcos) (2) por (PU) X/marcos (11) homem(marcos) mulher(marcos) (1) por (AD) (12) pessoa(marcos) (10, 11) por (MP) (13) pessoa(marcos) soberano(cesar) (5, 12) por (CONJ) (14) pessoa(marcos) soberano(cesar) tenta assassinar(marcos, cesar) (8, 13) por (CONJ) (15) leal a(marcos, cesar) (9, 14) por (MP) (16) pompeano(marcos) romano(marcos) (4) por (PU) X/marcos (17) romano(marcos) (3, 16) por (MP) (18) romano(marcos) leal a(marcos, cesar) odeia(marcos, cesar) (6) por (PU) X/marcos (19) leal a(marcos, cesar) odeia(marcos, cesar) (17, 18) por (MP) (20) odeia(marcos, cesar) (15, 19) por (SD) odeia(marcos, cesar) 251 of 273
252 of 273 Introdução à Programação Lógica
Programação Lógica Programação Lógica é um paradigma de programação baseado em linguagens declarativas Um programa declarativo rompe com a noção de sequencialidade de instruções lógicas; ao invés disso, trabalha com os conceitos de conhecimento declarativo e procedimental Conhecimento declarativo é aquele conhecimento que é especificado cujo uso não foi definido Conhecimento procedimental são informações de controle sobre o uso do conhecimento declarativo 253 of 273
Programação Lógica O processo de se programar através desse paradigma é o que se segue: 1. Modelagem do(s) domínio(s) 2. Modelagem dos fatos conhecidos acerca do problema 3. Modelagem das regras conhecidas acerca do problema 4. Consulta à base de conhecimento 5. Especificação da inferência desejada (predicado) Em caso de sucesso, o motor de inferência retorna o predicado com suas variáveis unificadas 254 of 273
Programação Lógica - Unificação É o processo do PROLOG reconhecer predicados como sendo similares A fim de garantir a similiridade entre predicados os seguintes critérios precisam ser satisfeitos: 1. mesmo nome de predicado 2. mesma quantidade de parâmetros (aridade) 3. mesmos valores literais na mesma ordem especificada (caso existam) Exemplos: homem(joao) homem(x ) MATCH predicado(x, Marcos) predicado(y ) NOT MATCH No caso da unificação ocorrer com sucesso, o motor de inferência substitui as variáveis presentes pelos seus respectivos valores unificados. Exemplo: no primeiro exemplo acima X/joao, ou seja, a variável X é substituída pela constante literal joao 255 of 273
Programação Lógica - PROLOG A linguagem de programação lógica PROLOG é um exemplo de linguagem declarativa Algumas restrições de representação de predicados são impostas pela linguagem: 1. Todas as expressões são sucedidas pelo símbolo ponto (.) 2. Os quantificadores e não são implementados explicitamente. O que significa que precisam ser representados de forma impĺıcita (como conjunções ou disjunções) 3. Os operadores lógicos possuem simbologia específica. A saber:, ; : 4. As regras de implicação lógica podem conter apenas um predicado no seu consequente: homem(x ) humano(x ) mortal(x ) 256 of 273 e ainda, são especificados em sua forma recíproca: consequente antecedente: mortal(x ) : homem(x ), humano(x )
Exemplo de Programação Lógica (I) Hoje fui a uma festa e apresentado a três casais. Os maridos tinham esposas e profissões distintas. Após alguns goles, me confundi quem era casado com quem e suas profissões. Apenas lembro de alguns fatos. Então me ajude a descobrir quem são os casais. Eis os fatos que eu me lembro: 1 1. O médico é casado com a Maria 2. Paulo é advogado 3. Patrícia não é casada com Paulo 4. Carlos não é médico 5. Ah! Luis e Lúcia também estavam na festa 6. Lembro também que alguém era engenheiro 1 Retirado da Revista Coquetel - Problemas de Lógica 257 of 273
Exemplo de Programação Lógica (II) Modelagem do Problema: Podemos identificar três domínios: Homens (H) Pedro, Carlos, Luis Mulheres (M) Patrícia, Lúcia, Maria Profissões (P) Médico, Engenheiro, Advogado Queremos identificar tuplas-3 da forma (H, M, P) A solução do problema é então uma lista com 3 dessas tuplas: (H1, M1, P1), (H2, M2, P2), (H3, M3, P3) 258 of 273
Exemplo de Programação Lógica (III) O processo para desenvolvimento e execução de um programa em PROLOG é o seguinte: 1. Editoração do código do programa em um ou mais arquivos texto (usualmente *.pl) 2. É necessário ter um motor de inferência PROLOG como SWI-Prolog 2 ou tkeclipse 3. Consulta ao arquivo fonte através do menu File Consult 4. Em caso de sucesso na consulta, basta digitar no prompt do ambiente (?-) a inferência desejada (não esqueça do.!) 2 http://www.swi-prolog.org/ 259 of 273
Exemplo de Programação Lógica (IV) 260 of 273
Exemplo de Programação Lógica (V) exemplo1.pl 1 profissao (medico). 2 profissao (engenheiro ). 3 profissao (advogado). 4 5 mulher(maria). 6 mulher( lucia ). 7 mulher( patricia ). 8 9 festa (( carlos, M1, P1), ( luis, M2, P2), (paulo, M3, P3)) : 10 mulher(m1), mulher(m2), mulher(m3), 11 M1\==M2,M1\==M3,M2\==M3, 12 profissao (P1), profissao (P2), profissao (P3), 13 P1\==P2,P1\==P3,P2\==P3, 14 ((P1 == medico,m1 == maria);(p2 == medico, M2 == maria)), 15 P3 == advogado, 16 M3 \== patricia, 17 P1 \== medico. 261 of 273
Inferência PROLOG com Sentenças Abertas O que nós acabamos de fazer foi uma inferência (em uma base de conhecimento) a partir de uma sentença aberta Ou seja, na prática o que o PROLOG foi construir uma enumeração de todas as possíveis combinações de particularização das variáveis envolvidas (produto cartesiano) e retornou aquela particularização que satisfez ao predicado inferido Notem que, dependendo do problema podem haver mais de uma particularização que satisfaz o problema. O Prolog irá apenas mostrar inicialmente a primeira destas. Caso se deseje ver outras possíveis respostas, use a tecla ; (no tkeclipse há um botão na interface para isso). encerra o processo 262 of 273
Inferência PROLOG com Sentenças Abertas Mas como funciona o processo de determinação da particularização no Prolog? Através de uma abordagem recursiva denominada backtracking (retrocesso) Inicialmente, o sistema particulariza cada variável do predicado sendo inferido com a primeira opção disponível na base de conhecimento Em seguida, para a última variável inferida, uma próxima particularização é determinada Quando não houverem mais particularizações possíveis para a última variável, então o processo é realizado para a penúltima variável de forma análoga (e assim por diante, para as demais variáveis) 263 of 273
Inferência PROLOG com Sentenças Abertas prodcartesiano.pl 1 a(1). 2 a(2). 3 a(3). 4 b( alfa ). 5 b(beta). 6 b(gama). 7 produto(x,y) : a(x),b(y). 264 of 273
Inferência PROLOG com Sentenças Abertas Ao inferirmos a sentença produto(a,b). obtemos como resultado todas as particularizações para as variáveis A e B que assumem os valores produzidos para as variáveis X e Y respectivamente: X/A Y/B O resultado obtido é: A = 1 A = 1 A = 1 A = 2 A = 2 A = 2 A = 3 A = 3 A = 3 B = alfa B = beta B = gama B = alfa B = beta B = gama B = alfa B = beta B = gama 265 of 273
Inferência PROLOG com Sentenças Abertas Sempre que uma variável é particularizada por algum predicado, ela permanecerá particularizada pelo restante da interpretação (Φ) daquele predicado (variáveis não mudam de valor durante uma interpretação) Neste caso, predicados que já tenham suas variáveis particularizadas se tornam fatos e são interpretadas pelo Prolog como proposições (V ou F) 266 of 273
Inferência PROLOG com Sentenças Abertas prodcartesiano2.pl 1 a(1). 2 a(2). 3 a(3). 4 b(1). 5 b(3). 6 b(5). 7 c(x,y) : a(y), b(x). 8 produto(x,y) : a(x),b(y),c(x,y). Qual a sequência de particularizações para o predicado produto(a,b).? 267 of 273
Prolog - Exercício (I) 1. Traduzir o exercício dos caminhos e estradas visto em aula, para Prolog 2. Repetir a inferência caminho(joinville, florianopolis). para confirmar se a programação está correta 3. Inferir outros caminhos (válidos e inválidos) 4. Acrescentar novas cidades e estradas ao mapa original 268 of 273
Prolog - Exercício (II) 1. Traduzir o exercício do soberano visto em aula, para Prolog 2. Repetir a inferência odeia(marcos, cesar). para confirmar se a programação está correta 269 of 273
Prolog - Exercício (III) 1. Construir um programa em PL para descrever relações familiares em uma árvore genealógica 2. Considere como fatos: homem, mulher, pai, casal 3. Sugestão: use sua própria família como exemplo 4. Construa regras para descrever os seguintes predicados: irmão, irmã, avô, avó, tio, tia, primo, prima 270 of 273
Prolog - Exercício (III) familia-pessoas.pl 1 homem(carlos). 2 homem(rubem). 3 homem(dilson). 4 homem(fabricio). 5 homem(rogerio). 6 homem(joao). 7 homem(gabriel). 8 homem(jose). 9 homem(rodrigo). 10 homem(gabrielzinho). 11 homem(milton). 12 homem(marcos). 13 homem(luiz). 14 homem(celso). 15 homem(marcelo). 16 homem(marcio). 17 homem(gian). 18 homem(paulo). 19 homem(hipolito). 1 mulher( leonilda ). 2 mulher(lourdes ). 3 mulher(maria). 4 mulher(dagmar). 5 mulher( elizabeth ). 6 mulher(luciana ). 7 mulher(clea ). 8 mulher(angelica ). 9 mulher(dolores ). 10 mulher(vanessa). 11 mulher(andressa). 12 mulher(sonia ). 13 mulher(neura). 14 mulher( julia ). 15 mulher(paula). 16 mulher(olga). 17 mulher(temis). 271 of 273
Prolog - Exercício (III) familia-pais.pl 1 pai( carlos, dilson ). 2 pai( carlos, dagmar). 3 pai( dilson, fabricio ). 4 pai( dilson, rogerio ). 5 pai( dilson, joao ). 6 pai(rubem, maria). 7 pai(rubem, gabriel ). 8 pai(rubem, clea ). 9 pai(rubem, luiz ). 10 pai(rubem, sonia ). 11 pai(rubem, paulo). 12 pai(rubem, olga). 13 pai( gabriel, jose ). 14 pai( gabriel, luciana ). 15 pai( gabriel, rodrigo ). 16 pai( gabriel, gabrielzinho ). 17 pai(milton, angelica ). 18 pai(milton, marcos). 19 pai( luiz, vanessa). 20 pai( luiz, andressa ). 21 pai( celso, marcelo). 22 pai( celso, marcio). 23 pai( celso, gian ). 24 pai(paulo, julia ). 25 pai(paulo, paula ). 26 pai( hipolito, temis ). 1 casal ( carlos, leonilda ). 2 casal ( dilson, maria). 3 casal (rubem, lourdes ). 4 casal ( gabriel, elizabeth ). 5 casal (milton, clea ). 6 casal ( luiz, dolores ). 7 casal ( celso, sonia ). 8 casal (paulo, neura). 9 casal ( hipolito, olga ). 272 of 273
Prolog - Exercício (III) familia-relacoes.pl 1 mae(x,y) : mulher(x), pai(w,y), casal(w,x). 2 avo(x,y) : homem(x), pai(w,y), pai(x,w). 3 avo(x,y) : homem(x), mae(w,y), pai(x,w). 4 avoh(x,y) : mulher(x), pai(w,y), mae(x,w). 5 avoh(x,y) : mulher(x), mae(w,y), mae(x,w). 6 irmao(x,y) : homem(x), pai(w,x), pai(w,y), X\==Y. 7 irma(x,y) : mulher(x), pai(w,x), pai(w,y), X\==Y. 8 irmaos(x,y) : irmao(x,y) ; irma(x,y). 9 tio (X,Y) : homem(x), pai(w,y), irmao(x,w). 10 tio (X,Y) : homem(x), mae(w,y), irmao(x,w). 11 tio (X,Y) : homem(x), pai(w,y), irma(z,w), casal(x,z). 12 tio (X,Y) : homem(x), mae(w,y), irma(z,w), casal(x,z). 13 tia (X,Y) : mulher(x), pai(w,y), irma(x,w). 14 tia (X,Y) : mulher(x), mae(w,y), irma(x,w). 15 tia (X,Y) : mulher(x), pai(w,y), irmao(z,w), casal(z,x). 16 tia (X,Y) : mulher(x), mae(w,y), irmao(z,w), casal(z,x). 17 primo(x,y) : homem(x), pai(w,x), pai(t,y), irmao(w,t). 18 primo(x,y) : homem(x), pai(w,x), mae(t,y), irmao(w,t). 19 primo(x,y) : homem(x), mae(w,x), pai(t,y), irma(w,t). 20 primo(x,y) : homem(x), mae(w,x), mae(t,y), irma(w,t). 21 prima(x,y) : mulher(x), pai(w,x), pai(t,y), irmao(w,t). 22 prima(x,y) : mulher(x), pai(w,x), mae(t,y), irmao(w,t). 23 prima(x,y) : mulher(x), mae(w,x), pai(t,y), irma(w,t). 24 prima(x,y) : mulher(x), mae(w,x), mae(t,y), irma(w,t). 273 of 273