"Otomatik teorem kanıtlama" (ATP) ve "interaktif teorem kanıtlama" (ITP) klasik ayrımının yeniden ele alınması gerektiğini söyleyebilirim. Bugün Isabelle / HOL gibi iyi bilinen bir ITP sistemi alırsanız (Şubat 2013'ten Isabelle2013), ATP portföyünden oldukça fazla eklenti aracı entegre eder:
Yerleşik genel otomatik kanıt araçları: eski okul Isabelle araçları gibi fast
ve blast
(L. Paulson tarafından) ve daha yeni otomatik kanıtlayıcılar metis
(J. Hurd tarafından).
Balyoz aracılığıyla çağrılan Birinci Dereceden Mantık için harici ATP'ler: E prover, SPASS, Vampire. Bulunan kanıt, hangi lemmaların katkıda bulunduğunu bulmak, 10000'leri 10'lara düşürmek ve sonucu beslemek için analiz edildi metis
.
Kısmen ispatlanmış dış SMT'ler, özellikle Z3 için (S. Boehme tarafından).
Kanıtlanmamış ifadelerin karşı örneklerini bulmak için araçlar: Nitpick / Kodkodi (J. Blanchette) ve Quickcheck (L. Bulwahn).
Tüm bu otomasyonlu şeyler Isabelle'i otomatik bir teorem mi kanıtlıyor?
Nihayetinde, "ATP" ve "ITP" arasındaki ayrımın, sisteminizi nasıl konumlandırmak veya "satmak" istediğinizi söyleyen bir tür "etiket" olduğunu düşünüyorum: ATP'ler "basmalı düğme araçları" olduğunu iddia ediyorlar, ancak uygulama, parametreler veya ipuçları sağlayarak veya sorununuzu yeniden biçimlendirerek (dolaylı olarak) etkileşimde bulunmanız gerekir. ATP topluluğunda ortak olan uzun çalışma zamanları nedeniyle bu aslında oldukça zor olabilir.
Buna karşılık, dahili kanıt durumlarına yarı iyi erişimi olan yerinde bekleyen insanlar için bir kanıt bitirmek için neyin eksik olduğunu görmek için bir ITP sistemi yapılır. ATP araçlarını Isabelle biçiminde tamamlayan bir ITP sistemi, yalnızca ITP veya ATP'den daha fazla kullanıcı ve daha fazla uygulama için daha cazip gelebilir.