Neden bazı çıkarım motorları insan yardımına ihtiyaç duyarken, diğerleri çıkmıyor?


16

Ben öğreniyorum otomatik teorem ispatlama / SMT çözümleyici / Kanıtı Yardımcıları kendim ve başlangıç süreci hakkında sorular, bir dizi yayınlamak burada .

Otomatik teorem kanıtlayıcıların, yani ACL2 ve SMT çözücülerin neden kanıt asistanları, yani Isabelle ve Coq , insan yardımına ihtiyaç duymadığını ?

Dizinin sonraki sorusunu burada bulabilirsiniz .

Yanıtlar:


14

Üst düzey formüllerin geçerliliği genel olarak karar verilebilir değildir ve arama alanları çok büyüktür , bu yüzden tek yapmanız gereken, kanıtlama alanını akıllıca numaralandırarak bir kanıt bulmaya çalışmaktır - var olduğunu zannederek ( uygun bir şekilde balyoz , düşünün ) ama bu kaba. İnsanlar kanıtlara rehberlik etmek için anahtar lemmata sağlayarak kâhin oynayabilirler.

Öte yandan, otomatik provistler, yalnızca öneri mantığı veya birinci dereceden mantığın alt sınıfları gibi yalnızca karar verilebilir (alt kümeleri) mantıklarla ilgilenir, bu nedenle uzun süre çalışabilirler, ancak sonunda başarılı olacaklarını biliyorsunuz.

İspat asistanlarının bu önemli lemmaları, örneğin IsaPlanner'ı bulmalarını sağlayacak yaklaşımlar olduğunu unutmayın . Araç, numaralandırma ve rastgele testlerle (endüktif) lemmata tahmin eder ve sonra bunları kanıtlamaya çalışır. İşlem tekrarlanarak, tipik veri tipi tanımları gibi birçok lemma otomatik olarak bulunabilir.


Küçük ABC

  • geçerlilik - bir formül geçerlidir, serbest değişkenlere atadığınız her şeyi içerir.
  • serbest değişkenler - ve gibi niceleyiciler tarafından sınırlandırılmayan değişkenler
  • decidability - sonlu bir süre sonra "yes" veya "no" (doğru) yanıtı veren bir algoritma varsa (boolean) özelliği (Turing) olarak karar verilir.
  • önerme mantığı - ayrıca sıfır dereceli mantık ; nicelemeye izin verilmez.
  • x.P(x)f.f(4)>0
  • daha yüksek mertebeden mantık - örneğin, yüksek mertebeden işlevler (işlevleri alan işlevler) gibi rastgele karmaşık nesneleri ölçebilirsiniz (ve "derleyin").

@GuyCoder: Bunun mümkün olduğundan emin değilim. Her cevabı önceden bilgi olmadan sindirilebilecek şekilde yazamayız. Atps olan gelişmiş malzeme; Kimsenin mantıkta sağlam bir arka plan olmadan öğrenmesini tavsiye etmem. Cevapları istediğiniz gibi yazmak, sadece bir anlayış yanılsaması yaratabilir, ama gerçekten yardım etmez, imho. Bu nedenle dizinizle ilgilenen herkes önce diğer mantıklarda da yardımcı olabileceğimiz bazı mantıklar yapmalıdır.
Raphael

7

"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 fastve 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.


Uzun zaman oldu , ama doğru hatırlamıyorsam ne provers ne fastde blast; belli kuralları kullanarak temelde sezgisel olan edebilir bir kanıt bulmak. (Tabii ki, herhangi bir kanıt numaralandırma yöntemi için geçerli olan uygun bir şekilde küçük bir formül alt kümesinin provasıdırlar.)
Raphael

2
"Atasözü" derken, belirli bir sabit dil için "karar prosedürü" anlamına mı geliyorsunuz? Çoğu ATP "prover" yarı karar prosedürlerini Eğer, özelliği yoludur fastve blast. blastL. Paulson tarafından bazı CADE atölyelerinde "Genel Tableau Prover ve Isabelle ile Entegrasyonu" olarak sunulduğunu unutmayın - makale daha sonra J. UCS 1999'da ortaya çıktı. Isabelle'in daha fazla "proveri" var ve bu anlamda, örneğin metis, ancak ayrıca bazı özel diller için karar prosedürleri (aritmetik alt kümeleri).
Makarius
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.