Esiste una varietà di sistemi per Interactive Teorem Proving (ITP) - vedi anche la conferenza con quel nome - Coq, Isabelle, HOLs, ACL2, PVS ecc.
Tutti sono relativamente difficili da imparare e ognuno ha la sua cultura specifica. È come imparare una lingua straniera: diciamo che conosci già l'inglese, e quindi puoi scegliere tra francese, tedesco, italiano, spagnolo, portoghese. Tutti sono in qualche modo collegati - questo non è cinese - ma pochissime persone gestiscono tutto ciò contemporaneamente. Quindi dovresti provare ad avere un assaggio per ciascuna delle culture e delle comunità, e quindi prendere un impegno.
Potrebbe esserci anche la "caratteristica killer" di cui hai veramente bisogno per il tuo lavoro.
Aiuta anche ad avere colleghi esperti su uno di questi sistemi in giro.
- Quali sono le differenze tra Coq e Isabelle?
Entrambi sono discendenti del sistema LCF da Stanford / Edinburgh / Cambridge. Nel 1985, G. Huet e L. Paulson stavano lavorando insieme sull'ultima versione di Cambridge LCF. Quindi la divisione è avvenuta verso Coc / CIC / COQ (ora Coq) in Francia e Isabelle a Cambridge e Monaco. Si noti che HOL4, HOL-Light, HOL-XYZ sono altri discendenti correlati di LCF.
Più di 20 anni fa, la distinzione tra Coq e Isabelle sarebbe stata fatta in base a basi logiche: qui la logica costruttiva tipicamente dipendente, la logica classica tipicamente semplice lì. Oggi, nella pratica, si ha un impatto sorprendentemente scarso, dato che sempre più livelli sono stati aggiunti in cima a ciascun sistema formale, inclusi strumenti aggiuntivi e librerie.
- Dovrei imparare Isabelle o Coq o entrambi?
Dovresti guardare entrambi e provare ad avere una sensazione se ti piace più vino e formaggio, o Bratwurst e crauti. (Come uno dei ragazzi dietro Isabelle, ma attualmente in Francia, sono sorpreso da quanti francesi amano davvero i crauti quando sono in casa privatamente e nessuno guarda :-)
- C'è un vantaggio nell'apprendere Isabelle o Coq per primo?
Io non la penso così. Potrebbe esserci il pericolo che rimani bloccato con quello che provi per primo e non provi il secondo, o che tu sia deluso troppo presto con il primo e lo scarti troppo presto. In ogni caso, avrai bisogno di tempo e costanza per diventare produttivo con entrambi i sistemi.
Da quando Proof General come "IDE" è già stato menzionato: Proof General / Emacs era l'interfaccia standard unificante sia per Coq che per Isabelle per molti anni, ma non l'avrei mai chiamato IDE. C'è anche CoqIDE con "IDE" nel suo nome, ma è un editor relativamente semplice in cima ai widget di Gtk. Isabelle attuale include Isabelle / jEdit, che non ha "IDE" nel suo nome, ma ha lo scopo di approssimare le cose che vedi abitualmente in Netbeans o IntelliJ IDEA --- per testi di prova anziché codice Java.