Teoria dos Modelos e das Provas
Lógica fornece duas noções de consequência: lógica e sintática.
Teoria dos Modelos
Seja S um conjunto de frases lógicas e f uma frase lógica:
f é consequência lógica de S se e só se todos os modelos de S
são modelos de f. Escreve-se da seguinte forma:
S╞ f
A Teoria dos Modelos proporciona uma forma de atribuir
significado (semântica) às frases lógicas.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
163
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Teoria dos Modelos e das Provas
Teoria das Provas
Seja S um conjunto de frases lógicas, f uma frase lógica e R um
conjunto de regras de inferência:
f é consequência sintáctica (ou é derivável a partir) de S se e
só se é possível inferir f a partir de S aplicando as regras de
inferência R. Escreve-se da seguinte forma:
S├ f
A Teoria das Provas proporciona uma forma de gerar frases a
partir da manipulação sintáctica de outras frases.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
164
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Teoria dos Modelos - Conceitos
Uma interpretação atribui significado a uma frase lógica,
associando-a a alguma declaração que tenha valores lógicos
(verdade ou falso), num domínio específico escolhido.
Uma interpretação que faz uma frase lógica ser verdade designase um modelo da frase (ou que satisfaz a frase).
Podemos estender esta definição para um conjunto de frases:
Uma interpretação é um modelo para o conjunto se e só se é um
modelo para cada um dos membros do conjunto.
Uma interpretação que não satisfaz uma frase diz-se um contramodelo (ou que não satisfaz).
Uma frase válida é uma frase lógica em que todas as suas
interpretações são modelos.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
165
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Teoria dos Modelos - Conceitos
Exemplo
Considere-se a seguinte fórmula chã
gosta(barney, bambam)
e escolha-se um domínio constituído por apenas 2 elementos.
De forma a realizarmos uma interpretação teremos de associar
os elementos do domínio com as constantes da fórmula: barney e
bambam e também associar alguma relação binária no domínio
com o predicado binário - gosta - da fórmula.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
166
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Teoria dos Modelos
Exemplo (cont.)
A frase gosta(barney, bambam) é verdade na interpretação:
= barney
= bambam
e
gosta =
<
porque o tuplo <
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
><
><
>
> pertence ao domínio da relação gosta.
167
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Teoria dos Modelos
a interpretação anterior é um modelo de
gosta(barney, bambam)
frase que não tem modelos
(X)(Y) (gosta(X,Y)  gosta(X,Y))
frase válida
(X)(Y) (gosta(X,Y)  gosta(X,Y))
Duas frases são logicamente equivalentes (S1  S2) se e só se
tiverem os mesmos modelos.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
168
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Teoria das Provas - Conceitos
A Teoria das Provas preocupa-se com a derivabilidade de
frases lógicas a partir de outras frases, usando regras de
inferência.
As frases iniciais são chamadas de axiomas.
As frases derivadas são
consequências sintácticas).
chamadas
teoremas
(ou
Regras de inferência operam unicamente sobre a sintaxe das
frases (e não sobre o seu significado).
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
169
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Teoria das Provas - Conceitos
A regra de inferência mais popular (usada pela lógica clássica)
é o Modus Ponens:
“do par de frases {W2, W1W2} inferir a frase W1”
Os axiomas mais as regras de inferência constituem um
sistema de inferência.
Os axiomas juntamente com os teoremas derivados constituem
uma Teoria.
Uma teoria é inconsistente se e só se contém conjuntamente
uma frase e a sua negação. Caso contrário é consistente.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
170
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Teoria das Provas - Conceitos
Definição formal de Prova
Seja A um conjunto de axiomas e R um conjunto de regras
de inferência. Uma prova derivada do sistema de inferência
[A, R] é a sequência
< s1, s2, ..., sn >
em que cada si ou é um axioma de A ou é derivado através
da aplicação de uma regra de R em axiomas de A e/ou de
frases que precedem si.
A sequência é denominada por prova de si i.e. A ├ si
A relação de derivabilidade usando R é definida por:
├R = {(A, s)  s é provado através de A usando R}
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
171
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Relação entre Teoria dos Modelos e das Provas
Seja S um conjunto de frases lógicas e c uma conclusão.
Requisito mínimo:
Se S expressa correctamente o nosso problema a
resolver então c expressa correctamente a conclusão.
Se correcto quer dizer “verdade numa interpretação própria”
então podemos dizer que, para uma dada interpretação I:
Se I é um modelo de S
então I é um modelo de c
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
172
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Relação entre Teoria dos Modelos e das Provas
Mas o computador só manipula símbolos e nada sabe sobre as
nossas intenções.
Terá de ser algo mais forte, ou seja, para todas as possíveis
interpretações I:
Se I é um modelo de S
então I é um modelo de c
Por outras palavras, queremos mostrar que S╞ c.
Felizmente, é possível mostrar que S╞ c sem ter que verificar
todas as interpretações.
Usamos simplesmente um
estabeleça a relação S├ c.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
173
sistema
de
inferência
que
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Relação entre Teoria dos Modelos e das Provas
Duas propriedades essenciais dos sistemas de inferência
Correcto (Soundness)
para todo o S e c, se S├ c então S╞ c
Um procedimento de prova que não prove fórmulas falsas
diz-se que é correcto.
Completo (Completeness)
para todo o S e c, se S╞ c então S├ c
Um procedimento de prova com o qual é possível provar
qualquer fórmula verdadeira diz-se que é completo.
Um sistema que não é completo não tem poder inferencial
suficiente para resolver todos os problemas que têm solução.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
174
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Sistemas de Inferência para a Forma Clausal
As letras que vamos utilizar de seguida, A, B, C, etc., referemse a proposições.
Um exemplo de um sistema correcto e completo é:
modus ponens
{B, A  B} ├ A com
transporte de literais (A B  C  A  B  C)
Um problema com o uso do modus ponens é que é usado
sem particular objectivo de uma conclusão específica. Assim
pode inferir coisas nas quais não estamos interessados.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
175
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Sistemas de Inferência para a Forma Clausal
Considerando isto, é geralmente melhor usar um sistema de
inferência com a seguinte regras:
{(C  A  C1  …  Cn), (A  B)}├ C  B  C1  …  Cn
Um caso especial desta regra é modus tollens:
{A, (A  B)}├ B

{ A, (A  B)}├  B (formato condicional)
Com este novo método, primeiro nega-se a conclusão
desejada e depois tenta-se inferir a cláusula vazia ( )
(inconsistência).
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
176
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Sistemas de Inferência para a Forma Clausal
Generalizando, tendo um programa P (conjunto de cláusulas),
uma desejada conclusão A e um sistema de inferência que é
correcto e completo para ├, então:
P  {A}╞
se e só se P╞ (falso  A)
P  {A}╞
se e só se P╞ A
P  {A}├
se e só se P├ A
Na primeira equivalência utiliza-se uma teorema da
consequência lógica que diz
para qq conjunto de frases S = {s1, ..., sn} e qq frase f,
S╞ f se e só se S – {si}╞ (f  si) [para qq i]
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
177
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Sistemas de Inferência para a Forma Clausal
Assim, se a conclusão A pode ser inferida
directamente de P, então a sua negação A
pode ser refutada de P.
Qualquer prova de
é designada por refutação.
A execução de um programa em lógica é baseado no método de
provas por refutação. Dado um programa P e uma fórmula
negada A (ambas na forma clausal) tentamos mostrar que
P  {A} é inconsistente
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
178
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Resolução (versão proposicional)
Resolução é uma regra de inferência que, usada isoladamente,
é suficiente para testar se um dado conjunto de cláusulas é
inconsistente (derivando ).
Assim temos, dado um conjunto de cláusulas P:
1. Escolher uma cláusula A  A1  …  Am P
2. Procurar outra cláusula C  A  C1  …  Cn P
3. Construir a cláusula C  A1  …  Am  C1  …  Cn
4. Adicionar a cláusula construída a P
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
179
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Resolução (versão proposicional)
Dado
pai   mae  progenitor
e
construir
homem  mae  progenitor
homem  pai
A aplicação da regra chama-se um passo da resolução.
As cláusulas escolhidas para um passo de resolução são
chamadas premissas.
A cláusula que é derivada chama-se resolvente.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
180
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Resolução (versão proposicional)
Propriedades
É correcto: cada resolvente é implicado pelas suas
premissas.
Um resolvente é a cláusula vazia ( ) se e só se uma
premissa é uma fórmula atómica A e a outra é A.
Para qualquer conjunto inconsistente de cláusulas de
Horn, a cláusula vazia pode ser inferida como resolvente. Por
causa desta propriedade chamamos à resolução refutationcomplete (completa com a refutação).
A resolução pode ser usada unicamente com frases lógicas
na forma clausal.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
181
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Resolução (versão proposicional)
A forma habitual de usar a resolução para a programação com
cláusulas de Horn é:
assumimos que P é um conjunto de cláusulas definidas
a resposta desejada A é formulada como uma cláusula
negativa A
aplica-se a resolução com o objectivo de obter uma prova de
ou seja, refutação.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
182
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Resolução (versão proposicional)
Assim temos
P╞ A
então P╞ A
P  {A} é inconsistente
P  {A}├
por refutação
se e só se
se e só se
uma vez que a resolução é correcta e completa com a
refutação.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
183
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Resolução (versão proposicional)
Exemplo com cláusulas de Horn
1.  A
2. A  B  C
3. B  C
4. C 
Por resolução temos
de 1. e 2. infere-se
de 3. e 5. infere-se
de 4. e 6. infere-se
de 4. e 7. infere-se
5.  B  C
6.  C  C
7.  C
8.
Note-se que existem outras refutações alternativas e podem
ser obtidas por resolução.
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
184
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Resolução (versão proposicional)
A representação em árvore é mais habitual
A
ABC
BC
C
BC
CC
C
Universidade da Madeira
Departamento de Matemática
Elsa Carvalho
185
Programação em Lógica e Funcional (2000/01)
(Actualizado em 2004/05)
Download

8 - Universidade da Madeira