Lógica e Especificação Edward Hermann Haeusler Departamento de Informática TECMF PUC/RJ Qual a relação entre a Lógica e a Computação ? - O que é a (Teoria da) Computação ? Tentativa de conceituação do Computável - O que é Lógica ? Tentativa de conceituação do Razoável Edward Hermann Lógica e Computação 2 Computável Tudo aquilo que pode ser realizado por um ser burro com um mínimo de conhecimento/capacidade. burro = Incapaz de Aprender conhecimento = ? Edward Hermann Lógica e Computação 3 Razoável Todo evento que é passível de uma explicação, na forma argumentativa, construída sobre fatos iniciais inquestionáveis. Edward Hermann Lógica e Computação 4 Computável = Razoável ? - Computável Razoável ? - Razoável Computável ? Edward Hermann Lógica e Computação 5 Como Definir tais Conceitos ? Através de Linguagens para : Expressar Procecimentos Expressar Argumentos Edward Hermann Lógica e Computação 6 Principais Componentes de uma Linguagem - Sintaxe : Como se escreve ? - Semântica : O que significa ? - Pragmática : Como se usa ? Edward Hermann Lógica e Computação 7 Em uma L.P. - Como é um programa ? - Como se executa ou, O que um programa faz ? - Como se constroem programas visando a solução de problemas ? Edward Hermann Lógica e Computação 8 Semântica Edward Hermann Lógica e Computação 9 Linguagem e Metalinguagem - Precisa-se de uma linguagem para descrever outra linguagem. - À linguagem descritora chamamos de metalinguagem enquanto à descrita chamamos de linguagem objeto. Edward Hermann Lógica e Computação 10 Paradoxos 1. Eu sou Mentiroso. 2. Edward Hermann - O menor denominador comum entre 1/2 e 2/3 é 6. - 1/2 = 2/4 Então o menor denominador comum entre 2/4 e 2/ 3 é 6. Lógica e Computação 11 Princípio da Funcionalidade de Frege A Semântica de uma expressão deve ser uma função da semântica das suas subexpressões. Objetos sintáticos são naturalmente Hierárquicos (estruturados). Edward Hermann Lógica e Computação 12 Semânticas Extensional X Intensional 1. Planeta Vênus. 2. Estrela Vespertina. 3. Segundo Planeta do Sistema Solar. - Em uma sem. extensional 1,2 e 3 têm o mesmo significado. Em uma sem. intensional 1, 2 e 3 têm diferentes significados. A forma é levada (sintaxe ?) em conta. - Edward Hermann Lógica e Computação 13 Princípio da Funcionalidade e intensionalidade. • 1. Necessariamente a estrela matutina é a estrela matutina. 2. Necessariamente a estrela matutina é a estrela vespertina. Linguagem natural necessita de semântica intensional. Edward Hermann Lógica e Computação 14 Expressões aritméticas : Sintaxe Semântica Ext. V( (1 + 2) * 5) * + 5 V( 1 + 2 ) * V( 5 ) 1 2 V( 1) + V( 2 ) * 5 (1 + 2) * 5 Edward Hermann ( 1 + 2 ) * 5 = 15 Lógica e Computação 15 A Linguagem da Lógica A Lógica tem, tradicionalmente, por objetivo a definição do que seja uma argumentação correta. Argumentação = Sequência de sentenças onde distingue-se premissas e conclusão Sentença = Expressão linguística enunciadora de um pensamento completo. Edward Hermann Lógica e Computação 16 Exemplos de Sentenças. 1. Salvador é a capital da Bahia. 2. (2 + 3) = 5. 3. Qual o melhor time de futebol do Brasil ? 4. Compile o Programa ! O tipo de sentença de interesse em uma argumentação é a sentença declarativa. Edward Hermann Lógica e Computação 17 Exemplos de Argumentos Todo homem é mortal. FHC é homem. ------------------------------------FHC é mortal. Todo homem é animal Todo gato é animal ------------------------------------Todo gato é homem Edward Hermann Lógica e Computação 18 Há exatamente 136 caixas de bombas em um depósito. Cada caixa contém pelo menos 140 bombas. --------------------------------------------------------------------------- Nenhuma caixa tem mais de 156 bombas Lula é o presidente do Brasil Brasília é a capital do Brasil --------------------------------------------A lua é um satélite da Terra Edward Hermann Lógica e Computação 19 Lula é o presidente do Brasil ----------------------------------------------------Lula é humano e presidente do Brasil Lula é o presidente do Brasil ----------------------------------------------------Lula é humano ou presidente do Brasil Edward Hermann Lógica e Computação 20 Alguns paulistas são latinos. Alguns brasileiros são latinos ------------------------------------------Alguns brasileiros são paulistas Tudo que é raro é caro. Uma casa boa e barata é rara. ------------------------------------------Uma casa boa e barata é cara. Todo triângulo tem somente 3 lados Todo quadrado é triângulo. ---------------------------------------------------Todo quadrado tem somente 3 lados. Edward Hermann Lógica e Computação 21 Argumentos e Solucao de Problemas -Tenho 3 esferas visualmente identicas. Entretanto duas tem o mesmo peso, enquanto uma terceira tem peso diferente. Utilizando somente uma balanca de equilibrio, sem pesos marcados, como posso descobrir a esfera diferente e saber se e’ mais pesada ou mais leve ??? Prove que uma das 3 esferas e’ mais pesada ou mais leve Edward Hermann Lógica e Computação 22 Especificacao, Prova e Solucao de Problemas -Os sobrenomes de Ana, Beatriz e Carla são Arantes, Braga e Castro, não necessariamente nesta ordem. A de sobrenome Braga, que não ‘e Ana, ‘e mais velha que Carla e a sobrenome Castro e’ a mais velha das 3. Qual a melhor ordem ? - Resolver, Especificar, Provar - Resolver, Provar, Especificar - Especificar, Resolver, Provar - Provar, Especificar, Resolver - Especificar, Provar, Resolver - Provar, Resolver, Especificar Edward Hermann Lógica e Computação 23 Em Lógica Matemática Prova • (Argumentação) formada por Premissas Regras de Inferência (Argumento) formada por conclusão são Sentenças ? conectivos/ quantificadores Átomos Sentenças Compostas Edward Hermann Lógica e Computação 24 Como representar os elementos da linguagem lógica tendo por princípio a universalidade ? Formalização da linguagem. Somente conectivos/quantificadores podem possuir significado a priori. Átomos são representados por Letras sentenciais (log. Sentencial). Fórmulas (combinações de átomos via conectivos) representam sentenças em geral. Edward Hermann Lógica e Computação 25 Conectivos Da praxis matemática tiramos : • Conjunção ( "e" lógico) Disjunção ( "ou" lógico) Implicação ( "se ____ então____") ~ = Negação ( "não lógico ") O significado de cada conectivo pode ser determinado pelas regras que ditam seu uso (Semântica Operacional) O significado de cada conectivo pode ser determinado pelas condições de verdade estabelecidas por ele (Semântica tradicional ou Tarskiana) Edward Hermann Lógica e Computação 26 Fórmulas Toda letra sentencial é uma fórmula Se ae b são fórmulas, então também são fórmulas : - ab ab ab ~a Obs : Parenteses são usados para auxiliar à análise sintática. Edward Hermann Lógica e Computação 27 Semântica p/ Lógica Clássica Extensional com Valores de "Verdade". Atribuição arbitrária de valores para as letras sentenciais. (Interpretação) Fórmulas têm seus valores determinados pela interpretacão e pelas funções semânticas associadas a cada conectivo. Edward Hermann Lógica e Computação 28 Funções na forma de Tabela. V F V F V V F V V V F F F F V F V F ~ V F F V V V F F VF V Edward Hermann Lógica e Computação 29 Edward Hermann V F V F V V F V V F F V V F F V Lógica e Computação 30 Atribuição de Valores à fórmulas Interpretação : I : Letras -{V,F} Dada uma interpretação I pode-se definir a denotação associada V: V(I, L) = I ( L) se L é letra sentencial. V( I, ab) = V(I, a) V( I, b) V(I, ab) = V(I, a) V(I, b) V(I, a) = V(I, a) F = ~ V(I, a) Edward Hermann Lógica e Computação 31 Def. Uma f órmula a é dita satisfatível, sse, existe uma interpretação que a torna verdadeira, i.e. Existe I , tal que V(I, a) = V Def. Um conjunto de f órmulas é satisfatível, sse, todas as suas fórmulas são satisfatíveis (para a mesma interpretação. Def. Diz-se que uma fórmula é válida, sse, ela é verdadeira sob toda interpretação. Edward Hermann Lógica e Computação 32 O conceito de conectivo principal. É aquele conectivo que aparece em primeiro plano em uma análise sintática. Exemplos: (A B) (C D) ~ (A B) (A B) Edward Hermann C Lógica e Computação 33 Def. Uma fórmula aé dita ser consequência lógica de um conjunto Gde fórmulas (G a), sse : - Toda interpretação que "torna" todas as fórmulas de G verdadeiras “torna” averdadeira. Ex: - { ~~ A} A {A, A B} B {A B, A C, B C} {A B} ~B ~A Def. a é equivalente a b sse a Edward Hermann C b eb Lógica e Computação a 34 Completude funcional da lógica clássica - Pode-se expressar todas os conectivos em função de e ?? - Pode-se expressar todas os conectivos em função de e ?? - Pode-se expressar todas os conectivos em função de e ?? - Pode-se expressar todas os conectivos em função de e ?? - Pode-se expressar todas as funções booleanas (arid. finita) por meio dos conectivos acima ?? - Pode-se expressar todas as funções booleanas (arid. finita) com um conectivo só (novo certamente) ?? Edward Hermann Lógica e Computação 35 Sistemas Dedutivos e Argumentação Formal Def1. Um sistema dedutivo é um mecanismo que permite a construção de argumentos formais Def2. Um sistema dedutivo é um mecanismo que permite estabelecer conclusões a partir de hipóteses. Def3. Um sistema dedutivo é um conjunto de regras (as vezes axiomas) que permite “chegar” a conclusões (sentenças) a partir de hipóteses (sentenças). Def4. Um sistema dedutivo é um conjunto de regras (as vezes axiomas) onde os axiomas são fórmulas válidas e as regras preservam a verdade. Edward Hermann Lógica e Computação 36 Universalidade da noção de correto O conceito de argumento correto deve ser baseado na forma do mesmo e não em seu significado particular, ou Um argumento é correto quando é invariante sob substituição, i.e., o que importa é o relacionamento entre premissas e conclusão e não estas propriamente ditas. Edward Hermann Lógica e Computação 37 Os sistemas a la Frege/Hilbert Esquemas de Axiomas: (K) A(B A) (S) A (B C) (A B) (A C) (Cla) A A Regra: A (Modus Ponens) Edward Hermann AB B Lógica e Computação 38 Exemplos de Deduções A ((A A) A) A ((A A) A) ( (A(AA)) (AA)) (A(AA)) (AA) A(AA) AA B (B A) B (B A) A B (B A) A B (B A) Edward Hermann Lógica e Computação 39 Discussão: 1- O método da “tabela verdade” é um sistema dedutivo ?? 2- O que dizer do sistema dedutivo somente com a regra de modus ponens e como axiomas todas as fórmulas válidas (tautologias) 3- Como comparar sistemas dedutivos ?? 4- O que a prova de um teorema deve nos dizer ?? 5- O que prova de teoremas tem a ver com computação e programação ?? Edward Hermann Lógica e Computação 40 Programa do Curso 1. 2. 3. 4. Edward Hermann Linguagem Clássica de Primeira Ordem. Lógica Intuicionista Algebras de Processo Logicas Temporais Lógica e Computação 41