Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Documentos relacionados
Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Conceitos Básicos. LEIC 2 o Semestre, Ano Lectivo 2012/13. c Inês Lynce

Conceitos Básicos. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Capítulo 3 Lógica de Primeira Ordem

Fórmulas da lógica proposicional

Lógica Proposicional

Lógica Computacional Aulas 8 e 9

Cálculo proposicional

2.3.4 Algoritmos de SAT

Lógica para Programação

Métodos de Verificação

Nelma Moreira. Aula 17

Capítulo 3 Lógica de Primeira Ordem

Lógica Computacional (CC2003)

Lógica para Programação

UMA PROVA DE CONSISTÊNCIA

impossível conclusão falso premissas verdadeiro

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.

Lógica Computacional

Capítulo 3 Lógica de Primeira Ordem

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Lógica Computacional

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

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

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Fundamentos da Computação 1. Introdução a Argumentos

3.3 Cálculo proposicional clássico

Conhecimento e Raciocínio Lógica Proposicional

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente

Lógica Computacional

DIM Resolução e método tableaux DIM / 37

BDD's. (Diagramas de Decisão Binária) Universidade Federal do Rio Grande do Sul UFRGS Lógica para Computação - INF05508

Departamento de Matemática Universidade do Minho, Braga 2009 /2010. Cálculo de Predicados de Primeira-Ordem da Lógica Clássica p.

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

Lógica Computacional

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Cálculo proposicional

BDDs. (Diagramas de Decisão Binária)

IME, UFF 7 de novembro de 2013

Lógica Proposicional. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

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

Agentes Lógicos. Capítulo 7 (online)

Análise e Síntese de Algoritmos

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

Lógica Computacional DCC/FCUP 2017/18

Capítulo 3 Lógica de Primeira Ordem

Lógica proposicional. Capítulo 1

Fundamentos de Lógica Matemática

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

Lógica Computacional

Lógica Proposicional Propriedades Semânticas

Matemática para Ciência de Computadores

1 Lógica de primeira ordem

Lógica Computacional

SCC Capítulo 2 Lógica de Predicados

Este número é racional ou irracional. Se 2. é racional então basta tomar b = c = 2. Vem b c = 2. é irracional, então seja b = = 2, que é racional

Lista de exercícios de MAT056

Afirmações Matemáticas

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Espaços quase topológicos: o caso em que cada conjunto fechado é também aberto. Introdução. Hércules de A. Feitosa, Mauri C.

Lógica Proposicional

Matemática discreta e Lógica Matemática

O Cálculo λ sem Tipos

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

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

Lógica Matemática 1. Semana 7, 8 e 9. Material Previsto para três semanas

1 Introdução à Combinatória Enumerativa: O Princípio de Inclusão-Exclusão

Lógica Proposicional

Lógica Computacional

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

Cálculo Diferencial e Integral I

5 AULA. Teorias Axiomáticas LIVRO. META: Apresentar teorias axiomáticas.

Exemplo 7 1 I. p q: Se o time joga bem, então o time ganha o campeonato. q s: Se o time ganha o campeonato então. s: Os torcedores não estão felizes.

Lógica Computacional Aula 4

Matemática I. 1 Propriedades dos números reais

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

2.6 O ALGORITMO DPLL. Preliminares

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

Matemática Discreta. Lógica Proposicional. Profa. Sheila Morais de Almeida. agosto DAINF-UTFPR-PG

Unidade II LÓGICA. Profa. Adriane Paulieli Colossetti

O Teorema de Peano. f : D R n. uma função contínua. Vamos considerar o seguinte problema: Encontrar um intervalo I R e uma função ϕ : I R n tais que

Cálculo de Predicados

0.1 Seja S o subconjunto de P(N) definido indutivamente pelas 3 regras apresentadas de seguida.

Lógica para Computação

01/09/2014. Capítulo 3. Propriedades semânticas da Lógica Proposicional

Lógica Computacional

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

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

Lógica Formal. Matemática Discreta. Prof Marcelo Maraschin de Souza

C : R I IN 0. tal que. C(α) = 0 sempre que α I {, ɛ} C(α + β) = C(α) + C(β) + 1. C(αβ) = C(α) + C(β) + 1. C(α ) = C(α) + 1.

anti-simétrica, com elemento mínimo e tal que, dados n, n, n N, se

LÓGICA PROPOSICIONAL

IME, UFF 3 de junho de 2014

1 Congruências e aritmética modular

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

printing problem: dado um programa e um valor arbitrários, o problema de determinar se sim ou não se vai obter como output do programa esse valor;

Integridade e Completude Para o sistema dedutivo de Hoare, vamos considerar duas propriedades usuais em sistemas lógicos:

Semântica Operacional

Lógica e Metodologia Jurídica

Transcrição:

Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur

Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo Proposicional Lógica de 1 a ordem ou Lógica de Predicados Programação em Lógica Prolog

Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo Proposicional Lógica de 1 a ordem ou Lógica de Predicados Programação em Lógica Prolog

Bibliografia Martins J.P., Lógica para Programação, Capítulo 2. Ben-Ari M., Mathematical Logic for Computer Science, Springer-Verlag, 2003, capítulos 2 e 4 (parte) Huth M. e Ryan M., Logic in Computer Science, Cambridge University Press, 2004, capítulos 1 e 6 (parte)

Componentes de uma Lógica (relembrar) 1. Linguagem 2. Sistema dedutivo 3. Sistema semântico

Sistema Semântico 1. O que acontece num sistema semântico? 2. Conceitos básicos 3. Como obter o valor lógico de uma fbf? 4. Diagramas de decisão binários (BDDs) 5. Diagramas de decisão binários ordenados (OBDDs)

Sistema Semântico 1. O que acontece num sistema semântico? 2. Conceitos básicos 3. Como obter o valor lógico de uma fbf? 4. Diagramas de decisão binários (BDDs) 5. Diagramas de decisão binários ordenados (OBDDs)

Como tínhamos visto, um BDD pode ter símbolos proposicionais não ordenados z y x x y 0 1

... e assim sendo, até caminhos incompatíveis... x y z x y x 0 1

Conceito: BDD ordenado Seja [x 1,x 2,...,x n ] uma lista ordenada de símbolos proposicionais sem duplicações Seja B um BDD cujos símbolos proposicionais estão contidos na lista [x 1,x 2,...,x n ] Diz-se que B tem a ordenação [x 1,x 2,...,x n ] se se verificarem ambas as seguintes condições: todos os símbolos proposicionais de B ocorrem na lista; sempre que x i ocorre antes de x j ao longo de um caminho em B então i < j.

Conceito: OBDDs Um BDD ordenado diz-se um OBDD.

Exemplo: ordenação [x, y, z] x y y z 0 1 Também podemos dizer que este OBDD tem a ordenação [x,a,y,z,b]

E a escolha a ordenação afecta o tamanho do OBDD? Sim, tipicamente a ordenação afecta o tamanho do BDD; Encontrar ordenação óptima é computacionalmente difícil; Normalmente são usadas heurísticas.

Exemplo (x 1 x 2 ) (x 3 x 4 )... (x 2n 1 x 2n ) Ordenação [x 1, x 2,..., x n ] Ordenação [x 1, x 3,..., x 2n 1, x 2, x 4,..., x 2n ]

Ordenação [x 1, x 2,..., x 6 ] x 1 x 2 x 3 x 4 x 5 x 6 0 1

Ordenação [x 1, x 3, x 5, x 2, x 4, x 6 ] x 1 x 3 x 3 x 5 x 5 x 5 x 5 x 2 x 2 x 2 x 2 x 4 x 4 x 6 0 1

OBDDs compatíveis Duas ordenações para B 1 e B 2 dizem-se compatíveis se nunca se verifica que x ocorre antes de y em B 1 e y ocorre antes de x em B 2

Teorema: OBDDs reduzidos Dada uma relação de ordem total e uma fbf, o OBDD reduzido correspondente é único.

Ou dito de outra maneira... Se aplicarmos as transformações R1-R3 a um OBDD então obtemos sempre o mesmo OBDD reduzido (a ordem de aplicação das transformações é irrelevante).

Assim... Se B e B são dois OBDDs reduzidos com ordenações de simbolos proposicionais compatíveis e que representam a mesma fórmula então têm estruturas idênticas.

Pode-se então dizer que... Os OBDDs têm uma forma canónica.

A forma canónica é muito importante, pois possibilita a realização de vários testes Ausência de símbolos proposicionais redundantes Teste de validade Teste de satisfazibilidade Teste de inconsistência Teste de equivalência semântica Teste de implicação

Ausência de símbolos proposicionais redundantes Dada uma fbf e um símbolo proposicional s que ocorre nessa fbf, se o valor da fbf não depende de s então s não ocorre no OBDD que representa a fbf.

Teste de validade Uma fbf é uma tautologia sse é representada pelo OBDD reduzido B 1.

Teste de satisfazibilidade Uma fbf é satisfazível sse o seu OBDD reduzido não é B 0.

Teste de inconsistência Uma fbf é uma contradição sse o seu OBDD reduzido é B 0.

Teste de equivalência semântica Dadas duas fbfs representadas por dois OBDDs com ordenações de símbolos proposicionais compatíveis, é possível decidir eficientemente se as fbfs são semanticamente equivalentes: as fbfs são equivalentes sse os respectivos OBDDs reduzidos têm uma estrutura idêntica.

Teste de implicação Uma fbf α implica uma fbf β sse o OBDD reduzido para α β é representada pelo OBDD reduzido B 0.

Mais ainda: os OBDDs podem ser uma maneira compacta de representar fórmulas Função de paridade par: dados n símbolos proposicionais, devolve V sse existe um número par de símbolos com valor V Representação com OBDDs: 2n + 1 nós (independentemente da ordenação) Representação CNF é exponencial x 1 x 2 x 2 x 3 x 3 x 4 x 4

Vamos agora estudar uma série de algoritmos para OBDDs... 1. Reduz 2. Aplica 3. Restringe

Vamos agora estudar uma série de algoritmos para OBDDs... 1. Reduz 2. Aplica 3. Restringe

Algoritmo Reduz Permite reduzir eficientemente OBDDs (é uma alternativa às redução estudadas anteriormente); Tem duas etapas principais: rotula; compacta.

Exemplo Peguem lá em papel e lápis e vamos lá ver como é que isto funciona com um exemplo!

Algoritmo Reduz - conceitos auxiliares Cada nó não terminal n tem um nó positivo e um nó negativo associados: pos(n) representa o nó apontado pelo arco a cheio que tem início em n; neg(n) representa o nó apontado pelo arco a tracejado que tem início em n.

Algoritmo Reduz - conceitos auxiliares Funções associadas aos rótulos: id(n): devolve o rótulo do nó n; id!(n, r): associa o rótulo r ao nó n.

Algoritmo Reduz rotula Nós terminais com o rótulo 0 são etiquetados com #0; Nós terminais com o rótulo 1 são etiquetados com #1;

Algoritmo Reduz rotula Por níveis debaixo para cima: Caso 1: se id(neg(n)) = id(pos(n)) então id!(n, neg(n))(ou id!(n, pos(n))); Caso 2: se existe um nó m tal que: raiz(n) = raiz(m); id(neg(n)) = id(neg(m)); id(pos(n)) = id(pos(m)); então id!(n, id(m)). Caso 3: atribui-se um novo rótulo a n.

Algoritmo Reduz compacta Percorre-se o OBDD uma vez, eliminando os nós com rótulos repetidos.

Exemplo: Reduz #4 x 1 #4 x 1 #3 x #2 2 x 2 Reduz = #3 x 2 #2 x #2 3 x 3 #2 x 3 #0 0 #1 1 #0 0 #1 1 #0 0 #1 1

Vamos agora estudar uma série de algoritmos para OBDDs... 1. Reduz 2. Aplica 3. Restringe

Algoritmo Aplica Usado para implementar operações binárias como por exemplo e ; Basicamente, dados dois OBDDs B f e B g que representam duas operações binárias f e g, o algoritmo Aplica(f op g) produz o BDD que corresponde à fórmula (f op g).

Intuitivamente... O algoritmo aplica actua recursivamente usando a estrutura dos dois OBDDs: Seja s o símbolo proposicional que aparece em primeiro lugar na lista ordenada; Divide-se o problema em dois sub-problemas: um sub-problema em que s é verdadeiro e outro sub-problema em que s é falso; Nas folhas, aplica-se a operação op directamente. No final aplica-se (por exemplo) o algoritmo reduz para obter um OBDD reduzido.

Exemplo Peguem lá outra vez em papel e lápis, se fazem favor...

Aplica: algoritmo Abordagem top-down começando pela raiz (o algoritmo é recursivo) Sejam r f e r g as raizes dos OBDDs B f e B g, respectivamente Caso 1: se r f e r g são nós terminais com os rótulos rt f e rt g, respectivamente, então calculamos o valor de (rt f op rt g ) e obtemos a OBDD B 0 correspondente ao valor Falso ou B 1 correspondente ao valor Verdadeiro; Caso 2: se r f e r g são dois nós são não terminais e têm o mesmo rótulo (designado por x i ). Então criamos um nó não terminal n com o rótulo x i : Com um arco tracejado para aplica(op, neg(r f ),neg(r g)); Com um arco a cheio para aplica(op, pos(r f ),pos(r g));

Aplica: algoritmo (cont.) Caso 3: se r f é um nó não terminal x i e r g é um nó terminal ou um nó não terminal x j com j > i então sabemos que não existe nenhum nó x i em B g porque os dois OBDDs têm ordenações compatíveis. Então criamos um nó não terminal n com o rótulo x i : Com um arco tracejado para aplica(op, neg(r f ), r g ) Com um arco a cheio para aplica(op, pos(r f ), r g ) Nota: O caso em que r g é um nó não terminal x i e r f é um nó terminal ou um nó não terminal x j com j > i é tratado simetricamente;

Aplica: algoritmo (cont.) Não esquecer de reduzir o OBDD no fim!!!

Exemplo: argumentos para a operação R 1 x 1 S 1 x 1 R 2 x 2 x 3 R 3 x 3 S 2 R 4 x 4 S 3 x 4 R 5 R 6 S 4 S 5 0 1 0 1

Exemplo: OBDD resultante de aplica(, B f, B g ) x 1 x 2 x 3 x 4 0 1

Aplica: memorização (do Inglês memoisation) Muitas chamadas recursivas podem ser exactamente iguais Memorização permite que o resultado destas chamadas seja calculado apenas uma vez e guardado em memória Chamadas seguintes acedem directamente ao resultado memorizado Sem memorização: complexidade exponencial em função da dimensão dos argumentos Com memorização: número de chamadas a apply limitado superiormente por 2 B f B g, em que B corresponde à dimensão do BDD

Vamos agora estudar uma série de algoritmos para OBDDs... 1. Reduz 2. Aplica 3. Restringe

Restringe: definições auxiliares f[1/s] representa a fórmula obtida ao substituir as ocorrências de s em f por 1 f[0/s] representa a fórmula obtida ao substituir as ocorrências de s em f por 0 f[1/s] e f[0/s] são chamadas restrições de f

Exemplo Se f for a fórmula x (y x) então f[0/x] corresponde à fórmula F (y F) (equivalente a F) e f[1/y] corresponde à fórmula x (V x) (equivalente a x)

Restringe restringe(0,x, B f ) calcula o OBDD reduzido que representa f [0/x] usando a mesma ordenação que B f restringe(1,x, B f ) calcula o OBDD reduzido que representa f [1/x] usando a mesma ordenação que B f

Restringe: algoritmo restringe(0,x, B f ) Para cada nó n com o rótulo x os arcos que têm n como nó final são dirigidos para neg(n) e o nó n é removido restringe(1,x, B f ) Para cada nó n com o rótulo x os arcos que têm n como nó final são dirigidos para pos(n) e o nó n é removido No final aplica-se o algoritmo reduz para obter um OBDD reduzido

Exemplo: OBDD B f x 1 y 1 x 2 y 2 x 3 y 3 0 1

Exemplo: restringe x 1 x 1 x 1 y 1 y 1 y 1 x 2 x 2 x 2 y 2 y 2 y 2 y 3 y 3 0 1 0 1 0 1 restringe(0,x 3, B f ), restringe(1,x 3, B f ), resultado de aplica(,restringe(0,x 3, B f ),restringe(1,x 3, B f ))

Restringe: algoritmo Não esquecer de reduzir o OBDD no fim!!!

Últimas notas em relação ao uso de OBDDs OBDDs são eficientes para representar sistemas que não crescem muito e muito depressa Importância da ordenação escolhida (heurística) Complexidade exponencial em função do número de símbolos proposicionais no pior caso

E agora vamos entrar na última secção do Capítulo 2 Vamos rever uns conceitos Vamos ver umas propriedades da lógica proposicional

Componentes de uma lógica (relembrar) 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

Manipulação a nível simbólico sistema dedutivo (relembrar) 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

Manipulação a nível simbólico sistema dedutivo prova de um argumento (relembrar) 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

Manipulação a nível simbólico sistema dedutivo derivação e demonstração (relembrar) 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

Manipulação a nível simbólico sistema dedutivo axiomas e teoremas (relembrar) Axioma: fbf que é aceite sem demonstração O conjunto de todas as fbfs deriváveis a partir de L corresponde à teoria gerada a partir de, ou seja, aos teoremas de (Th( ))

Manipulação a nível de significado sistema semântico (relembrar) 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

Manipulação a nível de significado sistema semântico implicação lógica (relembrar) 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 (ou consequência lógica) de, ou seja, = α Se = α então o argumento (,α) é válido

Conceitos de solidez (relembrar) Solidez de uma lógica: qualquer argumento demonstrável (pelo sistema dedutivo) é válido (de acordo com a semântica)

E se houvesse alguma regra de inferência mal pensada?

Conceitos de completude (relembrar) Completude de uma lógica: qualquer argumento válido (de acordo com a semântica) é demonstrável (pelo sistema dedutivo)

E se houvesse alguma regra de inferência a menos?

Relação entre os conceitos de solidez e completude (relembrar) Os conceitos de solidez e completude estabelecem uma relação entre o sistema dedutivo e a semântica Numa lógica sólida e completa os conceitos de derivabilidade e validade são equivalentes

Relação entre os conceitos de solidez e completude (relembrar) Linguagem Sistema dedutivo Semântica Derivabilidade Solidez Completude Validade =

Assim, agora vamos estudar a solidez e completude da lógica proposicional

A provar: a lógica proposicional é sólida, isto é...... para quaisquer fbfs α 1,...,α n, se {α 1,...,α n } β então {α 1,...,α n } = β

Por outras palavras...... se consigo provar, usando o sistema de dedutivo, que {α 1,...,α n } β, então β é consequência lógica de {α 1,...,α n } (ou seja, não existe nenhuma interpretação que torna todas as proposições em {α 1,...,α n } verdadeiras e β falso).

Como é que vamos provar isto? Por indução matemática, sendo n o comprimento da prova: Base de indução: provar que é verdade para provas de tamanho 1 Hipótese de indução: assume-se que é verdade para provas de tamanho n A provar: verificar que é verdade para provas de tamanho n+1

Base de indução Se uma prova tem 1 linha, então tem a forma: 1 α Prem Devido à existência desta prova, {α} α. Ora, por razões óbvias {α} = α (não é possível arranjar uma interpretação que torne todas as fórmulas de {α} verdadeiras e α falso), pelo que a propriedade de solidez se verifica para qualquer prova com apenas uma linha.

Hipótese de indução Suponhamos que para qualquer prova com n (ou menos linhas) que estabeleça {α 1,...,α n } β, então verifica-se igualmente {α 1,...,α n } = β

Resta então provar que...... o mesmo se verifica para qualquer prova com n + 1 linhas.

E para fazermos esta prova...... há que considerar exaustivamente as possibilidades de passar uma prova de n linhas para uma prova com n+1 linhas. E para isso há que considerar cada uma das regras de inferência estudadas.

Peguem em papel e lápis...... e vamos lá ver como é que isto se faz.

Caso I Suponhamos que {α 1,...,α k } β e que a prova disto é dada por (nota: máx n passos): 1 α 1 Prem... k α k Prem... n β

Caso I Por hipótese de indução: {α 1,...,α k } = β

Caso I Suponhamos que agora que {α 1,...,α k } (γ σ) e que a prova disto é dada por (nota: n+1 passos): 1 α 1 Prem... k α k Prem... n+1 γ σ

Caso I Será que {α 1,...,α k } = (γ σ)? É isto que temos de provar...

Caso I De acordo com a regra de inferência I, para γ σ serem introduzidos na prova, então é porque quer γ, quer σ já existiam na prova. Ou seja: {α 1,...,α k } γ e {α 1,...,α k } σ Considerando as provas até aos pontos em que γ e σ foram introduzidos, essas provas têm um número de linhas menor ou igual a n.

Caso I Então, por hipótese de indução, verificam-se ambas as seguintes condições: {α 1,...,α k } = γ {α 1,...,α k } = σ

Caso I Ora se {α 1,...,α k } = γ e {α 1,...,α k } = σ não é possível que exista uma interpretação que torne {α 1,...,α k } verdadeiras e γ σ falsa.

Caso I Então, por definição de consequência lógica: {α 1,...,α k } = (γ σ)

A lógica proposicional é completa, isto é,...... para quaisquer fbfs α 1,...,α n, se {α 1,...,α n } = β então {α 1,...,α n } β

Para demonstrar isto, há que apresentar primeiro um conjunto de conceitos e de teoremas

Conceitos Conjunto consistente: um conjunto de fbfs é consistente sse para nenhuma fbf α se verifica (α α); Conjunto inconsistente: um conjunto de fbfs é inconsistente sse para alguma fbf α se verifica (α α);

Conceitos (cont) Conjunto maximamente consistente: um conjunto de fbfs é maximamente consistente sse se verificam as duas condições que se seguem: Para nenhuma fbf α se verifica (α α); Para qualquer fbf α, ou α ou então α.

Teorema 1 Qualquer conjunto consistente de fbf pode ser estendido para um conjunto maximamente consistente.

Teorema 2 Qualquer conjunto maximamente consistente tem um modelo, ou seja, existe uma interpretação que satisfaz todas as fbfs do conjunto.

Teorema 3 Para qualquer fbf α, se = α então α.

Teorema 4 Se {α 1,...,α n 1,α n } = β, então {α 1,...,α n 1 } = (α n β).

Vamos lá ver esta prova...

Teorema 5 Se {α 1,...,α n } = β, então = (α 1 (...α n β)...).

Prova: n aplicações do Teorema 4

Teorema 6: a lógica proposicional é completa (finalmente!!) Para quaisquer fbfs α 1,...,α n, se {α 1,...,α n } = β então {α 1,...,α n } β

Vamos lá ver esta prova...

Mas antes ainda há que relembrar uma propriedade do sistema dedutivo que estudámos anteriormente...

Propriedades do sistema dedutivo (Teorema 7) Se é um conjunto de fbfs, α e β são fbfs e (α β) então ( {α}) β.

Prova da completude Suponhamos que {α 1,...,α n } = β Então = (α 1 (...α n β)...) (Teorema 5) Então (α 1 (...α n β)...) (Teorema 3) Aplicando n vezes o Teorema 7 temos que {α 1,...,α n } β.

Últimos resultados A regra da resolução é sólida Se existe uma demonstração por resolução da cláusula Φ a partir do conjunto de cláusulas então = Φ A regra da resolução é completa Se é um conjunto de cláusulas não satisfazível então existe uma demonstração por resolução de {} a partir de