Existe uma variedade de sistemas para Provas de Teoremas Interativos (ITP) - veja também a conferência com esse nome - Coq, Isabelle, HOLs, ACL2, PVS etc.
Todos eles são relativamente difíceis de aprender, e cada um tem sua própria cultura específica. É como aprender uma língua estrangeira: digamos que você já saiba inglês e depois tenha a opção de francês, alemão, italiano, espanhol, português. Todos eles estão de alguma forma relacionados - isso não é chinês -, mas poucas pessoas gerenciam tudo isso simultaneamente. Portanto, você deve experimentar um gostinho de cada uma das culturas e comunidades e depois se comprometer.
Pode haver também o "recurso matador" que você realmente precisa para o seu trabalho.
Também ajuda a ter colegas especialistas em um desses sistemas.
- Quais são as diferenças entre Coq e Isabelle?
Ambos são descendentes do sistema LCF de Stanford / Edinburgh / Cambridge. Em 1985, G. Huet e L. Paulson estavam trabalhando juntos na última versão do Cambridge LCF. Então a divisão aconteceu em direção a Coc / CIC / COQ (agora Coq) na França, e Isabelle em Cambridge e Munique. Observe que HOL4, HOL-Light, HOL-XYZ são outros descendentes relacionados ao LCF.
Há mais de 20 anos, a distinção entre Coq e Isabelle teria sido feita de acordo com fundamentos lógicos: lógica construtiva dependentemente digitada aqui, lógica clássica simplificada ali. Hoje, surpreendentemente, há pouco impacto nisso na prática, uma vez que mais e mais camadas foram adicionadas sobre cada sistema formal, incluindo ferramentas complementares e bibliotecas.
- Devo aprender Isabelle ou Coq, ou ambos?
Você deve olhar para os dois e tentar sentir se gosta de mais vinho e queijo ou bratwurst e chucrute. (Como um dos caras por trás de Isabelle, mas atualmente na França, estou surpreso com quantos franceses realmente gostam de chucrute quando estão em casa e ninguém olhando :-)
- Existe uma vantagem em aprender Isabelle ou Coq primeiro?
Acho que não. Pode haver o perigo de você ficar preso com o que você tenta primeiro e não tentar o segundo, ou se decepcionar muito cedo com o primeiro e descartá-lo muito cedo. De qualquer forma, você precisará de tempo e persistência para se tornar produtivo com qualquer um dos sistemas.
Como a Prova Geral como "IDE" já foi mencionada: A Prova Geral / Emacs costumava ser a interface unificadora padrão da Coq e da Isabelle ao longo de muitos anos, mas eu nunca a chamaria de IDE. Há também o CoqIDE com "IDE" em seu nome, mas é um editor relativamente básico sobre os widgets Gtk. Isabelle atual inclui Isabelle / jEdit, que não tem "IDE" em seu nome, mas pretende aproximar coisas que você vê rotineiramente no Netbeans ou no IntelliJ IDEA --- para textos de prova em vez de código Java.