Questions tagged [smt]

Satisfiability Modulo Theories (SMT) are decision problems for logical formulas with respect to combinations of background theories expressed in classical first-order logic with equality.

Satisfiability Modulo Theories (SMT) are decision problems for logical formulas with respect to combinations of background theories expressed in classical first-order logic with equality.

A SMT instance is a generalization of a Boolean SAT instance in which various sets of variables are replaced by predicates from a variety of underlying theories.

SMT problems are usually expressed by the SMT-LIB language and solved by high-performance SMT solvers. For a list of benchmarks, solvers and other information regarding SMT, please visit http://smtlib.org/.

845 questions
0
votes
1 answer

Z3py: Solving with integers and bit vectors in constraints

I am trying to solve constraints using Z3 SMT solver in python. The constraints involve both integers and bit vectors. I am converting the BitVec to Int using Z3_mk_bv2int. I believe the following constraints are unsatisfiable but I get SAT from Z3…
User1219
  • 1
  • 1
0
votes
1 answer

Z3 Interpolants in presence of quantifiers

I am experimenting with iZ3 to see if I can derive quantified invariants making use of iZ3's get-interpolant functionality. Here is my example: (set-option :auto-config false) (set-option :smt.mbqi…
Gowtham Kaki
  • 357
  • 1
  • 10
0
votes
0 answers

How to unify variables in SMT-LIB

I am trying to do this in SMT-LIB, running z3 -smt2 script.smt2 on the script containing these expressions: (set-logic AUFLIA) (declare-fun a () Int) (declare-fun b () Int) (declare-fun c () Int) (declare-fun d () Int) (declare-fun e ()…
ndb
  • 127
  • 1
  • 10
0
votes
1 answer

Is there an easy-to-use 0-1 IP solver for java?

I would like to use a 0-1 integer programming solver as a tool in a java program. I cannot find anything easy to use on the web. I tried the pseudo-boolean library from sat4j but this is not well documented, some classes are not consistent with…
0
votes
1 answer

Z3: eliminate don't care variables

I have a test.smt2 file: (set-logic QF_IDL) (declare-const a Int) (declare-const b Int) (declare-const c Int) (assert (or (< a 2) (< b 2 )) ) (check-sat) (get-model) (exit) Is there anyway to tell Z3 to only output a=1 (or b=1)? Because when a is…
0
votes
2 answers

Formalization of Reachability in z3py

I am trying to formalize reachability property, such that I can find a satisfiable solution if there exists, a path of length 4 (which means if there are 3 intermediate nodes through which, 2 desired nodes are connected). Note: I am restricting it…
Rauf
  • 27
  • 6
0
votes
1 answer

In SMT-LIB, is there a difference between an array and no-arg function that returns an array?

Are the below two declarations/commands semantically identical in SMT-LIB language? (declare-fun a1 () (Array Index Element)) (declare-const a2 (Array Index Element)) With Z3, an assertion applicable to a1 is also applicable to a2 (with no…
0
votes
0 answers

SMT Solver in Linux Kernel

Is there a way to call an SMT solver such as yices or STP from linux kernel? I want to implement a symbolic execution engine and therefore I need to solve constraints at run time. Thanks in advance!
0
votes
2 answers

Unsatisfiable formula ? maybe wrong syntax?

Formula which I wanna solve looks like this in C: #define foo(w,x,y) ((((w)*(x)*(y)+31) & ~31) / 8) WORD w,x,y,z; y = 24; if( (foo(w,x,y) * z) == -1 ) printf("yeah!"); I rewrite it to z3py in the following way: from z3 import * w=…
user3305379
  • 35
  • 1
  • 7
0
votes
1 answer

Z3: Use Java API to simplify assertions

I am using the Java-API of Z3 Version 4.3.2 64-bit on Windows 7 as well as Java 7 64-bit. I'm trying to use simplify in order to gain knowledge about redundant information in my set of assertions. My first try is to simplify the boolean expression…
John Smith
  • 771
  • 8
  • 25
0
votes
1 answer

Can iZ3 be used to extract symmetric interpolants

I would like to know how iZ3 can be used to extract symmetric interpolants. Internally iZ3 uses FOCI and FOCI does have symmetric interpolant extraction. FOCI does not accept smt format So i wanted to know if there is any method of extracting…
balavins
  • 19
  • 6
0
votes
1 answer

Simplex Implementation in z3

It is mentioned here that z3 uses Dual Simplex not Revised Simplex, which would mean that as of now, all rows and columns of the original (fixed) tableaux get accessed during every pivoting operation. Am I then correct to infer that implementing…
user1779685
  • 283
  • 2
  • 8
0
votes
1 answer

LLVM and Yices interfacing?

I want to call yices from a loadable module of llvm. I compiled with -lyices. Although the compilation does not report any error but at runtime the llvm module is not able to find yices symbols.
ari
  • 61
  • 1
  • 4
0
votes
2 answers

Transform java boolean expressions to SMTlib

I have some problems trying to transform java boolean expressions to a format that Z3 is able to understand. I cannot use any other tool for evaluating the expressions due to some of the requirements of the project. Only identifiers could be used in…
sui
  • 120
  • 6
0
votes
1 answer

old vs new version of Z3

I have an instance which could be very efficiently solved by old version of Z3(version 2.18). It return SAT in a few seconds. However, when I try it on the current version of Z3(version 4.3.1). It does not return any result after 10 minutes. Here…