Capítulo 1 Conceitos Básicos Lógica para Programação LEIC 2 o Semestre, Ano Lectivo 2012/13 c Inês Lynce
Bibliografia Martins J.P., Lógica para Programação, Capítulo 1. Ben-Ari M., Mathematical Logic for Computer Science, Springer-Verlag, 2001, capítulos 1 e 2 (parte) Huth M. e Ryan M., Logic in Computer Science, Cambridge University Press, 2004, capítulo 1 (parte)
Lógica É usada em Informática Para desenvolver linguagens que modelam situações E que fornecem mecanismos para raciocinar sobre essas situações de modo a que se possa garantir que os resultados obtidos estão correctos. Definição de lógica no contexto desta cadeira: ramo do conhecimento que aborda a análise sistemática de argumentos, ou a análise dos métodos para distinguir argumentos válidos de argumentos inválidos.
Proposições Definição: frases declarativas que fazem afirmações sobre qualquer coisa Exemplos: Sócrates é um homem. Todas as aves têm penas. Albert Camus était an écrivan français. The sum of the numbers 3 and 5 equals 6. Não são exemplos: Could you please pass me the salt? Forneça uma resposta para o exercício 4.
Premissas e Conclusões Objectivo da lógica: geração de raciocínio correcto. Um argumento é um par (premissas,conclusão) também representado por (, α). premissas: um conjunto de proposições. conclusão: uma proposição. A inferência é o processo de geração de conclusões a partir de premissas.
Argumentos Representação de um argumento: Em linguagem corrente as premissas e a conclusão são relacionadas com palavras como então, portanto, logo Em lógica podem ser usadas duas representações alterativas: ({todos os Homens são mortais, Sócrates é um homem}, Sócrates é mortal) todos os Homens são mortais Sócrates é um homem Sócrates é mortal
Argumentos válidos e inválidos Um argumento (,α) é válido ou seja implica logicamente α ou seja α é uma consequência lógica de sse For logicamente impossível ter todas as premissas verdadeiras e a conclusão falsa. Caso contrário o argumento é inválido.
Validade/Invalidade vs Verdade/Falsidade Validade/Invalidade são atributos de argumentos Verdade/Falsidade são atributos de proposições Validade/Invalidade de um argumento é independente dos conteúdos das proposições Validade/Invalidade de um argumento depende apenas da existência de uma relação entre os valores lógicos (verdadeiros ou falsos) das premissas e da conclusão
Validade/Invalidade vs Verdade/Falsidade (cont.) Valores lógicos (,α) Argumento válido Argumento inválido (Verdadeiro,Verdadeiro) todos os homens são mortais todos as pessoas são humanos Sócrates é um homem todos os homens são pessoas Sócrates é mortal (Verdadeiro,Falso) todos os cães são animais todos os animais são cães (Falso,Verdadeiro) todas as aves são humanos todos os animais são cães todos os humanos têm penas todos os cães são animais todas as aves têm penas (Falso,Falso) todos os cães são felinos todos os gatos são cães todos os felinos têm penas todos os cães são gatos todos os cães têm penas Princípio da irrelevância do valor lógico: excepto no caso em que as premissas são todas verdadeiras e a conclusão é falsa, a verdade/falsidade das proposições que constituem um argumento não é relevante para determinar a validade/invalidade do argumento.
Forma dos argumentos A forma de um argumento é estudada independentemente do domínio: as partes das proposições são substituídas por símbolos associados à categoria gramatical (nome próprio, substantivo, adjectivo). Por exemplos o argumento: Bobi é um animal todos os cães são animais Bobi não é cão nem todos os animais são cães tem a forma: A é um B todo o C é B A não é C nem todos os B são C em que A é um nome próprio e B e C são substantivos
Forma dos argumentos (cont.) Por exemplo os dois argumentos: Piupiu é uma ave nenhuma ave tem barbatanas Piupiu não tem barbatanas FOO é um nome em Scheme nenhum nome em Scheme contém o caracter branco FOO não contém o caracter branco têm a mesma forma: A é um B nenhum B tem C A não tem C em que A é um nome próprio e B e C são substantivos Princípio da forma: se dois argumentos têm a mesma forma então são ambos válidos ou ambos inválidos.
Sistema formal A lógica é um sistema formal porque estuda argumentos do ponto de vista da forma. A lógica utiliza símbolos para descrever em termos lógicos os objectos que são comuns a formas de argumentos. Por exemplo a forma: A é um B nenhum B tem C A não tem C pode ser apresentada de um modo mais compacto como: B(A) x[b(x) C(x)] C(A) em que todos é representado por, implica por e não por.
Metodologia para determinar validade/invalidade (,α) Palpite Válido Inválido Tentar encontrar uma prova Tentar encontrar um contra-argumento Sim Não Não Sim Mudar de palpite Validade/Invalidade desconhecida (,α) é sabido válido (,α) é sabido inválido
Metodologia para determinar validade/invalidade (cont.) Embora um argumento seja sempre válido ou inválido, a sua validade ou invalidade pode ser desconhecida. Por exemplo o último teorema de Fermat foi formulado no séc. XVII mas só foi provado em 1993. ({axiomas da aritmética}, para n > 2, não existem inteiros x, y e z tais que z n = x n +y n )
Componentes de uma lógica A linguagem de uma lógica é definida através de um conjunto de regras de formação que especificam as frases possíveis da lógica, denominadas fórmulas bem formadas (fbfs). Seja L a linguagem que corresponde às fbfs. Logo, um argumento é um par (,α) no qual L e α L. Podemos manipular as frases da linguagem a dois níveis diferentes: A nível simbólico - sistema dedutivo: realização de operações de manipulação de símbolos que dão origem a sequências de frases que começam pelas premissas e tentam obter uma conclusão. A nível do significado - sistema semântico: atribuição de significado/valor lógico às proposições de um argumento com o objectivo de avaliar validade/invalidade de um argumento.
Sistema dedutivo Composto por um conjunto de regras para a manipulação de símbolos chamadas regras de inferência. Estas regras especificam como formar novas fbfs a partir das fbfs existentes. Prova de um argumento (,α): sequência finita de fbfs geradas a partir de de modo a obter α, tal que cada fbf ou é uma premissa ou é o resultado da aplicação de uma regra de inferência a uma ou mais fbfs anteriores da prova. Axioma: fbf que é aceite sem demonstração.
Derivação, demonstração e teoremas Dado um argumento (,α), α é derivável a partir de, ou seja, α sse existir uma sequência de regras de inferência que aplicadas às fbfs de (e às fbfs geradas a partir de ) produz α. Por outras palavras, α é derivável a partir de se existe uma prova de α a partir de. Se α então o argumento (,α) é demonstrável. O conjunto de todas as fbfs deriváveis a partir de L corresponde à teoria gerada a partir de, ou seja, aos teoremas de (Th( )).
Sistema semântico Especifica as condições sob as quais as proposições são verdadeiras ou falsas Uma interpretação permite determinar os valores lógicos das proposições Dado um argumento (,α), se não existe nenhuma interpretação que torna todas as proposições em verdadeiras e α falso, então diz-se que implica logicamente α ou que α é uma implicação lógica de, ou seja, = α. Se = α então o argumento (,α) é válido.
Sistema dedutivo e sistema semântico Correcção de uma lógica: qualquer argumento demonstrável (pelo sistema dedutivo) é válido (de acordo com a semântica). Completude de uma lógica: qualquer argumento válido (de acordo com a semântica) é demonstrável (pelo sistema dedutivo). Linguagem Sistema dedutivo Semântica Derivabilidade Correccão Completude Validade = Os conceitos de correcção e completude estabelecem uma relação entre o sistema dedutivo e a semântica. Numa lógica correcta e completa os conceitos de derivabilidade e validade são equivalentes.