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

Iterating over unsat cores

I use (get-unsat-core) in Z3 to extract an unsat-core of an unsatisfiable set of constraints. However, some constraints may have more than one unsat core. In such cases, is there any way to iterate over unsat-cores?
Amin
  • 251
  • 2
  • 15
0
votes
1 answer

Creating List in z3 using function

I'm trying to convert this piece of pseudocode to SMT-LIB language, but I got stuck. List function my_fun(int x) { list = nil for(i in 1 to x): if(some_condition_on_i) list.concat(i) return list } what I've done so…
Branky
  • 373
  • 8
  • 23
0
votes
1 answer

Z3: finding all possible solutions using C API

I am a newcomer in Z3 solver, and using Windows 10, VS2013 command prompt. I am trying to use C and I have tried to solve the below problem using Z3 solver. Problem set: What is the possible combination of a, b, c that satisfies a + 2*b + 3*c =…
0
votes
1 answer

Is there an option to enable overloading of user-defined symbols in cvc4 for SMT input?

In versions through 1.2 of the SMT-LIB language, overloading of user-defined symbols was allowed. Since version 2.0 of standard, overloading is restricted to theory symbol. Nevertheless, some SMT-solvers still allow overloading of user-defined…
dde
  • 150
  • 6
0
votes
0 answers

How can I add soft constraints in Z3 ml api?

I'm trying to solve some smt equations with Z3 OCaml api. I need to add some soft constraint using Z3.Optimize.add_soft function, but I don't know what the parameters of the function mean and cannot find any description or example for that. Merlin…
sangwoo-joh
  • 127
  • 6
0
votes
1 answer

What values can be represented with BitVecs in z3?

I think I don't understand how BitVecs work in z3. I have written the following code: >>> import z3 >>> s = z3.Solver() >>> a = z3.BitVec("a", 32) >>> s.add(z3.ForAll(a, z3.Not(z3.And(a > 2147483647, a < 2147484671)))) I'd expect that this to be…
Others
  • 2,876
  • 2
  • 30
  • 52
0
votes
1 answer

Convert my pyverilog AST to input for Z3 solver

I have converted my verilog file to AST(abstrct syntax tree) but along with external constraints like the output for the circuit and the AST is to be given to Z3/SMT solver which should give us the inputs for the circuit, but I have no idea how can…
0
votes
1 answer

assertions on inductive data types in CVC4

I am trying experiment with CVC4 a bit. (set-option :produce-models true) (set-option :produce-assignments true) (set-logic QF_UFDT) (declare-datatypes () (Color (Red) (Black)) ) (declare-const x C) (declare-const y C) (assert (not (= x…
ankitrokdeonsns
  • 638
  • 4
  • 18
0
votes
1 answer

Z3 solver difference logic python api

I've been trying to do something like this in python: (set-option :smt.arith.solver 1) (declare-const x Int) (declare-const y Int) (assert (>= 10 x)) (assert (>= x (+ y 7))) (maximize (+ x y)) (check-sat) I've been able to do it for a solver…
George
  • 1
0
votes
0 answers

SMT-LIB syntax for execution time

I have been working on model generation problem on bit-vectors using SMT-LIB format. I want to know the execution time of my programs. I could only found the below statement in the paper **…
0
votes
1 answer

How does z3's 'smt_tactic' solve QF_BV formulas?

When z3 uses smt_tactic (instead of the qfbv tactic) to solve a QF_BV formula, will it bit-blasts and uses the SAT engine? When I set verbose level to 10, I cannot see bit-blasting.
rainoftime
  • 21
  • 1
0
votes
1 answer

dReal SMT solver counterexamples

Does the dReal SMT solver return counterexamples? I have seen examples where :produce-models is true, but I do not know how to generate counterexamples. Also, the dReach tool has a --visualize option, so it would seem that dReal would need to…
0
votes
0 answers

programmatically create input file in smt-lib2 format

I am using C language to check the satisfiability of a formula using Z3 API. At present, I am converting a formula into SMT-LIB2 format manually. Is there any way to do it automatically in C? I am thinking of writing my own function to convert a…
0
votes
1 answer

Z3Py: Create model object

I would like to create a Z3 model object such as the one that is returned by (get-model)/s.model() with s = Solver(). I am starting with a list of tuples (name, value) where name is a string representing the Z3 variable that is used in the model and…
ec-m
  • 779
  • 1
  • 5
  • 15
0
votes
0 answers

Run z3 from java using ProcessBuilder

I want to run a SMT solver from java in an interactive manner, send a sequence of command using stdin. The idea is, depending on the result more commands will be set via stdin. running the code public class SmtProcess { SmtProcess() { String[]…
Johan
  • 575
  • 5
  • 21