Questions tagged [sat-solvers]

SAT solvers are a class of algorithms for solving satisfiability problem of boolean formulas.

SAT solvers are a class of algorithms for solving satisfiability problem of boolean formulas.

SAT was the first known example of an NP-complete problem. Since then, there are a lot of research regarding how to efficiently solve a large enough subset of SAT instances to be useful in various practical areas.

References:

80 questions
3
votes
1 answer

What are the semantics of non-decision variables in MiniSat?

When using MiniSat as C++ library, every new variable can be created as either a decision var or a non-decision var. My rough understanding of this is that when the solver decides on which variable to use next during branching, non-decision vars are…
Xarn
  • 3,460
  • 1
  • 21
  • 43
3
votes
2 answers

Use different back-end solvers in Z3

I'm using Z3 Python interface to create formulas for my experiments. I'm then sending that formula to a Z3 solver. If I'm correct Z3 uses its own solver! How to use a different SAT/SMT solver with Z3py? The way I use to do it in CBMC (C bounded…
user2754673
  • 439
  • 3
  • 13
3
votes
2 answers

how to convert boolean expression to cnf file?

i need to use sat solver for checking satisfiability of boolean expressions.. I have complex boolean expression like this is there any automatic cnf file converter so that i can give it straight to sat solver? I read the cnf format file.. but how…
karthi
  • 2,762
  • 4
  • 30
  • 28
3
votes
2 answers

SAT-Solving: DPLL vs.?

right now I am writing about SAT-solving and I am stuck at a point. I am hoping that you can help me. I want to describe some methods to solve SAT-Problems. Right now I have three different ways: Bruteforce Random (naive) DPLL (with different…
noctua
  • 115
  • 10
3
votes
1 answer

constraint programming mesh network

I have a mesh network as shown in figure. Now, I am allocating values to all edges in this sat network. I want to propose in my program that, there are no closed loops in my allocation. For example the constraint for top-left most square can be…
Raj
  • 3,300
  • 8
  • 39
  • 67
2
votes
1 answer

Trying to find all solutions to a boolean formula using Z3 in python

I'm new to Z3, and trying to make a solver which returns every satisfiable solution to a boolean formula. Taking notes from other SO-posts, I've coded what I hoped would work, but isn't. The problem seems to that by adding the previous solutions, I…
Sombrero
  • 25
  • 5
2
votes
1 answer

Incremental weakening Maxsat

I've an idea about MaxSat and have already implemented a naive Maxsat solver using MSU3 along with sequential encoding with minisat APIs I was wondering if there's a way to speed up this solver. I came with this…
2
votes
2 answers

How to implement non chronological backtracking

I'm working on a CDCL SAT-Solver. I don't know how to implement non-chronological backtracking. Is this even possible with recursion or is it only possible in a iterative approach. Actually what i have done jet is implemented a DPLL Solver which…
man zet
  • 826
  • 9
  • 26
2
votes
1 answer

minisat randomize variable selection is not working on gcloud

I want to get different solution every time I run minisat on the same problem. I can do that with using "rnd-seed" parameter of minisat. It simply randomize the variable selection so each time I can get different solution. Even though this parameter…
one
  • 62
  • 5
2
votes
1 answer

Datatypes with functions as attributes in Z3 Python

I am using the Python bindings for Z3, and trying to create a Z3 datatype whose attributes are functions. For example, I might execute the following: Foo = Datatype('Foo') Foo.declare('foo', [('my_function', Function('f', IntSort(),…
csvoss
  • 117
  • 2
  • 14
2
votes
1 answer

is z3 ignoring some of my restrictions?

stackoverflow-ers(?), I'm playing with z3, and I'm trying to solve the following restrictions: (declare-const A (_ BitVec 32)) (declare-const B (_ BitVec 32)) (declare-const C (_ BitVec 32)) (declare-const D (_ BitVec 32)) (declare-const E (_ BitVec…
2
votes
3 answers

Can we define relations in Z3?

I am new to z3 SMT solver. I need to define a relation, instead of a function. I mean a function that can return more than one value. I looked up the tutorial, and couldn't find anything. I appreciate if you can help me in this regard. Thanks a lo.
Fathiyeh
  • 31
  • 3
2
votes
1 answer

SAT Solvers, 0-depth assignments

When talking about SAT solvers, of the like of minisat for example, what does the value of "0-depth" and "CNF assignments" mean? These values are usually part of the information output of various SAT solvers.
A.A.
  • 127
  • 1
  • 10
2
votes
2 answers

Z3 solver returning unsat when formula should be satisfiable

I got a 'simple' formula that the Z3 solver (python interface) seems unable to handle. It is running for quite some time (30 minutes) and then returning unkown even though I can find a satisfying assignment by hand in under a minute. This is the…
user667804
  • 740
  • 6
  • 25
2
votes
1 answer

Which is better practice in SMT: to add multiple assertions or single and?

Lets say I have two clauses that I want to model in SMT, is it better to add them as separate assertions like (assert (> x y)) (assert (< y 2)) or to add one assertion with and operator like this (assert (and (> x y) (< y 2) )) Does this matter…
Mohammed
  • 134
  • 6