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
1
vote
2 answers

Is there any tool that implements a non-CNF SAT solver?

I need a SAT solver able to take as input not only CNF files but also normal txt files containing propositional clauses (written with only and or and not). I couldn't find any. Could you please point out one?
elena
  • 889
  • 2
  • 11
  • 19
1
vote
1 answer

SAT in presence of a propositional theory

Is there a name for the SAT solving scenario where part of the formula is static (forming a propositional "theory") and serves as a static context for testing the satisfiability of relatively small sentence. Many such tests need to be performed with…
Alek81
  • 23
  • 3
1
vote
1 answer

DPLL What is a consistent set of literals?

I am writing a SAT solver and I started implementing a DPLL algorithm. I understand the algorithm and how it works, I also implemented a variation of it, but what bothers me is the next thing. function DPLL(Φ) if Φ is a consistent set of…
campovski
  • 2,979
  • 19
  • 38
1
vote
1 answer

Converting to Horn Form from CNF

How do you convert a CNF clauses to a Horn form using Prolog? I am trying to create a SAT Solver that has CNF as an input, which will be need to convert to Horn form.
piyo_kuro
  • 105
  • 9
1
vote
1 answer

BumbleBEE SAT-solver compilation

Im trying to compile bumblebee sat-solver from http://amit.metodi.me/research/bee/. I have installed SWI-Prolog and MinGW already but after i type "make-minisat" in cmd i get: A subdirectory or file ..\satsolver already exists. In file included from…
1
vote
2 answers

Solving with multiple assumptions

Suppose I have a CNF expression with variables (a,b,c,d,e,f,g). How would I go about using a SAT solver to find an assignment for (d,e,f) given that {a,b,c,g} = {1,0,0,1} and {a,b,c,g} = {1,1,1,1}? If it was one assumption, calling a sat solver to…
red_house
  • 63
  • 3
1
vote
1 answer

Solving equations using propositional logic

I'm looking for ideas on how to encode mathematical equations into cnf-sat form, so that they can be solved by an open source SAT solver like MiniSat. So, how do I convert something like: 3x + 4y - z = 14 -2x - 4z <= -6 x - 3y + z >= 15 into a…
1
vote
1 answer

How to assign integer values to boolean formula's variables using sat4j in java?

I am totally new for sat4j solver and researching boolean satisfiable problems; and i am stuck.I want to make a program which solves integer variables which are in boolean formula like; x1 < x2 + x3 the user enter that formula and my program…
1
vote
0 answers

cardinality constraints in prolog for SAT solver

I have to solve a problem with SAT. That problem has 2 cardinality constraints, first one is: at most 6 "class of same stage" per day, "university" is "open" 12h per day, so you have to generate constraints to apply them to SAT solver. Second…
1
vote
1 answer

parse dimacs CNF file python

I have a file in the DIMACS cnf format that I need to manipulate into the necessary format for a SAT Solver. Specifically, I need to get: ['c horn? no', 'c forced? no', 'c mixed sat? no', 'c clause length = 3', 'c', 'p cnf 20 91', '4 -18 19 0', '3…
user3357979
  • 607
  • 1
  • 5
  • 12
1
vote
1 answer

Getting Unsat core examples using Z3 and c#

I am trying to use the Z3 sat solver in an C# implementation. This code is very close to the example given by Microsoft itself in "http://z3.codeplex.com/SourceControl/latest#examples/dotnet/Program.cs". My code is: using (Context ctx = new…
Amir Ebrahimi
  • 115
  • 1
  • 10
1
vote
1 answer

function to get nibbles using Z3 and bitvector theory

I'm trying to learn a little about z3 and the bit vector theory. My intention is to make a function to get the nibble from a position of the bitvector This code returns the nibble: (define-fun g_nibble( (l ( _ BitVec 12)) (idx (Int)) ) ( _…
1
vote
1 answer

Child process lives forever

I am starting a child process which should end within a defined timeout period along the following lines: using (Process process = process.Start(startInfo)) { if (!process.WaitForExit(timeOutMilliSeconds)) { if…
Axel Kemper
  • 10,544
  • 2
  • 31
  • 54
0
votes
1 answer

How to correctly generate CNF formulas for building a maze?

I want to build a maze using sat solver. Please help me to correctly compose the algorithm for generating conditions. I tried to implement some conditions, but they turned out to be wrong. This picture explains how I represent the maze using the…
Defqon
  • 1
0
votes
0 answers

Sat solving nurse schedule with part time resources and weekend grouping

Ok, I'm not a python programmer at all, in fact, I'm a registered nurse but with a taste for programming, but mainly js and swift. The ward I work at is painstakingly old fashioned and the monthly planning is done by paper and pen. There's a lot of…
Mondayhero
  • 11
  • 1
  • 3