1
PROVADORES DE TEOREMAS:Visão Geral
André Luiz de LacerdaRicardo Trizzolini Piekarski
2
• O que são provadores de teoremas? • Exemplos
• Aplicações
• Peculiaridades
Introdução - Objetivo
"Fonte: SXC. Xadrez. Disponível em: <http://www.sxc.hu/browse.phtml?f=view&id=739384>. Acesso em: 7 maio 2009."
3
Introdução - Conceito• Ferramentas
• Programas de computador
• Conjunto de sentenças → Consequência lógica
• Não restrito às exatas
• Automated Theorem Provers (ou ATPs)
• CASC
4
Tipos de provadores
• Resolução
• Tableaux Analíticos
• Tableaux KE
Baseados em métodos
"Fonte: SXC. Tarefa de Lógica. Disponível em: <http://www.sxc.hu/browse.phtml?f=view&id=860172>. Acesso em: 7 maio 2009."
5
Baseados no método da Resolução
Lógica equacionais de primeira ordem
↑ Boas implementações de unificação
↑ Correspondência associativo-comutativa
↑ Estratégias para raciocínio equacional
↑ Buscas rápidas
EQP (Equational Theorem Prover)
6
↓ Estabilidade
↓ Aparência
↓ Sem garantias
↓ Execução por linhas de comando
Baseados no método da ResoluçãoEQP (Equational Theorem Prover)
"Fonte: SXC. Labirinto. Disponível em: <http://www.sxc.hu/browse.phtml?f=view&id=1008265>. Acesso em: 7 maio 2009."
7
Baseados no método da Resolução
• Lógicas equacionais de primeira ordem
• Otter → provador de teoremas
• Mace2 → buscador de modelos finitos e contra-exemplos
Otter / Mace2Organized Techniques for Theorem-proving and Effective Research
8
Baseados no método da Resolução
↑ 1° de sua categoria a ser amplamente distribuído
↑ Pioneiro em diversas técnicas de implantação
↑ Domínio público
↓ Execução por linhas de comando
↓ Não tem mais sido desenvolvido
Otter / Mace2Organized Techniques for Theorem-proving and Effective Research
9
Sucessor do Otter
↑ Constante desenvolvimento
↑ Interface Gráfica
Prover9 / Mace4
Baseados no método da Resolução
"Fonte: Prover9-Mace4 v05. Disponível em: <http://www.cs.unm.edu/~mccune/prover9/gui/v05.html>. Acesso em: 5 maio 2009."
10
Baseados em Tableaux Analíticos
Lógicas equacionais de primeira ordem
↑ Pode ser adaptável a outras lógicas
↑ Implementado em Java
↑ Roda em forma de Applet direto do website
jTAP – A Tableau Prover in Java
11
Baseados em Tableaux Analíticos
• Estrutura orientada a objetos (Object-oriented framework) implementada em C++
• Batizado por Adolfo Neto
• Adolfo também fez algumas modificações:– Provas mais curtas em Tableaux KE– Adaptações para Windows XP e Linux
WDTP – Wagner Dias Tableau Prover
12
Baseados em Tableaux Analíticos
↑ Base para implementação de métodos:‒ Tableaux Analíticos de Smullyan‒ Tableaux KE de Mondadori e D'Agostino's‒ Tableaux KE-S3 de Finger e Wasserman
↑ Adaptado ao Windows e Linux
↑ Permite imprimir a árvore de prova completa
↓ Execução em linhas de comando
WDTP – Wagner Dias Tableau Prover
13
Baseados em Tableaux KE
• Implementado em Java e AspectJ
↑ Multi-estratégia
↑ Interface gráfica
KEMS (KE-based Multi-Strategy theorem prover)
"Fonte: SXC. Jogo de Damas. Disponível em: <http://www.sxc.hu/browse.phtml?f=view&id=919928>. Acesso em: 7 maio 2009."
14
Outros
• Tarski’s World
• Vampire
• PLLIC
• Isabelle
"Fonte: MARQUES, Everton G. Estudo e estado da arte dos provadores automáticos de teoremas: Trabalho de graduação. Disponível em: <http://www.cin.ufpe.br/~tg/2007-2/egm2.pdf>. Acesso em: 5 maio 2009. Recife, 2008. 65 p"
"Fonte: Usando Tarski’s World. Disponível em: <http://www.mat.uc.pt/~picado/ediscretas/apontamentos/Tarski.pdf >. Acesso em: 6 maio 2009. 8 p"
15
Expectativas• Cooperatividade
• Um ATP seguindo padrão internacional
• Divisão de tarefas
• Implementação de lógicas mais complexas
"Fonte: SXC. Quebra-cabeças. Disponível em: <http://www.sxc.hu/browse.phtml?f=view&id=796887>. Acesso em: 7 maio 2009."