z3

    11ısı

    2cevap

    Bazı teori geliştiricileri oluşturmak için Haskell'de SBV (Z3 arka uçlu) kullanıyorum. Verilen kısıtlarla (x + y = y + x, +'un "artı operatörü" olduğu gibi) x ve y forall olup olmadığını kontrol etmek

    0ısı

    1cevap

    Z3, güç mod aritmetiğini yapabilir mi? Örneğin, x ** y % z türünde ifadeler yerleştirirseniz, Z3'ün bu tür bir ifade olduğunu, python'un pow(x,y,z) işlevine nasıl benzediğini anlamanın bir yolu var mı

    2ısı

    1cevap

    Hedefler oluşturabildiğimi, bunları bir taktik ekleyebileceğimi ve taktikten bir çözücü yaratabildiğimi görüyorum. Bu yaklaşımın basitçe bir z3 :: çözücü örneği oluşturup ifadelerimi eklemeye yönelik

    0ısı

    1cevap

    Bu script, Z3 4.3.2 ile neredeyse hiç zaman içinde doğru bir model üretmez, ancak Z3 4.4.2 ve zaman aşımları birkaç saniye sonra sonsuza kadar çalışır Rise4fun üzerinde. n=5 (bağlanan bir tane n=4) iç

    1ısı

    1cevap

    (set-option :smt.mbqi true) (declare-fun R(Int) Int) (declare-const a Int) (assert (= (R 0) 0)) (assert (forall ((n Int)) (=> (> n 0) (= (R n) (+ (R (- n 1)) 1))))) (assert (not (= a 5))) (asser

    1ısı

    1cevap

    z3 ana kaynak kodunu anlamak istiyorum.Için giriş tipi smt2 için ana dosyadan çağrıları takip etti. giriş ana dosya için bu tip aşağıdaki kod ile smtlib_frontend dosyası (hat 341) çağırır: case IN_SMT

    0ısı

    1cevap

    Çözücüde işlev tanımlarını açıklama olarak eklemenin bir yolu var mı? Şu anda C++ dosyalarının sınırlı model denetimi üzerinde çalışıyorum ve tanımlayıcı ifadeler olarak tanımları ekleyebilmek, çözme

    0ısı

    1cevap

    Z3py'nin mantıksal olarak aynı sorun için iki ayrı yanıt ürettiği garip bir durumla karşılaşıyorum. Versiyon 1: >>> import z3 >>> r, r2, q = z3.Reals('r r2 q') >>> s = z3.Solver() >>> s.add(r > 2,

    1ısı

    1cevap

    Aşağıdaki kodu Z3'te denedim. Ama Z3 modelin mevcut olmadığını söyledi. (declare-const s String) (declare-fun toUppercase (String) (String)) (assert (= (str.len s) (str.len (toUppercase s)))) (ass

    0ısı

    1cevap

    z3 api numaralı smt2 komutlarını ayrıştırmak için kullanmak istiyorum ve daha sonra vectors (sıralar, değişkenler, params, ... gibi) sonuçlarının içeriğini görmek istiyorum. ama nasıl yapmıyorum? (Dah