Bazı basit doğrusal aritmetik problemler için bir teorem geliştiricisine ihtiyacım var. Ancak, Z3'ün basit problemlerde bile çalışmasını sağlayamıyorum. ben bir şey bakan ediyorsamZ3 niceleyici desteği
(assert (forall ((t Int)) (= t 5)))
(check-sat)
emin değilim, ama bu çürütmek için önemsiz olmalıdır: Ben ancak bu basit bir örnek ele almak gerekir, bu eksik olduğunu farkındayım.
(assert (forall ((t Bool)) (= t true)))
(check-sat)
çizme sadece iki değer içerdiğinden, kapsamlı bir arama yaparak çözülebilir olması gerekir: Ben bile bu basit örnek çalıştı.
Her iki durumda da bilinmeyen z3 cevapları. Burada yanlış bir şey yapıp yapmadığımı ya da eğer bu tip formüller için bir teorem geliştirici önerebilirseniz, bilmek isterim.
Bu harika. İşe yarıyor. Bunu C Api'yi kullanarak nasıl belirteceğimi söyler misiniz? Z3_check işlevinin başka argümanları kabul etmemesi nedeniyle. – ThorstenT
Bir taktik oluşturmanız ve bunu bir çözücüye dönüştürmeniz gerekir. C/C++ API'lerini kullanarak bir örnek ekledim. –
Bu gerçekten harika. Şimdi Z3 istediğim gibi çalışıyor :) – ThorstenT