Questions tagged [smt-solvers]

Solver programs for the Satisfiability Modulo Theories (SMT). The SMT problem is a decision problem for logical formulas with combinations of background theories expressed in classical first-order logic with equality.

49 questions
18
votes
3 answers

Why is unification so important to inference engines?

I am learning Automated Theorem Proving / SMT solvers / Proof Assistants by myself and post a series of questions about the process, starting here. I keep reading about the Unification Algorithm. What is it and why is so important to Inference…
16
votes
2 answers

Why do some inference engines need human assistance while others don't?

I am learning Automated Theorem Proving / SMT solvers / Proof Assistants by myself and post a series of questions about the process, starting here. Why is it that automated theorem provers, i.e. ACL2, and SMT solvers do not need human assistance…
Guy Coder
  • 5,181
  • 2
  • 30
  • 65
7
votes
1 answer

Framework or tools to generate theorem prover/solver/reasoner for new logic

I have new logic which has syntax and semantics in usual natural languages and I have to create theorem prover/solver/reasoner for this logic. Is there framework or tool set that can generate such prover from the formal definition of grammar and…
6
votes
1 answer

Exponential example for simplex used in SMT solvers

The original simplex algorithm requires an exponential number of pivot operations in the worst case, e.g., if run on the Klee-Minty example [3,4]. What about the simplex algorithm used in SMT solvers [1,2]? Could you provide an example where it…
Ayrat
  • 1,135
  • 1
  • 9
  • 23
5
votes
2 answers

Using SMT solvers to generate random solutions to given predicate

I am interested in generating random solutions to predicates. I only need SMT for integers with the following predicates/functions <, >, <=, >=, ==, !=, +, * The algorithm I want should produce a random assignment of variables to values (a…
Jake
  • 3,810
  • 21
  • 35
5
votes
0 answers

Introduction to bounded model checking that describes model generation

Most of the tutorials I have found on model checking and bounded model checking start with, the model is given as a Kripke Structure M = (S,I,T,L) where S is a set of states, I is a set of initial states, T is a transition relation, and L is a…
4
votes
1 answer

Check if two items are equal after replacing

Let's say that an item is either a natural number or a list of items. Examples of items are: 1 [2] [4, [3, 1], 3, 4] A rule states that two items are equal. For example: 1 = 2 3 = [3, 1] [4, 3] = [1, 5] When using these example rules, we can…
Paul
  • 149
  • 4
4
votes
2 answers

How could an SMT solver be implemented as simple as possible?

I'm trying to figure out how an SMT solver works as simple as possible. Let's assume we have a simple input program with symbolic values x and y. E.g. if (x+y < 20) { if (x > 10) { if (y > 10) { assume(false); } } } Here…
racc44
  • 667
  • 2
  • 7
  • 11
4
votes
0 answers

How the $EX(f)$ is evaluated in symbolic model checking?

I was reading the symbolic model checking, So there it has mentioned that we can represent the set of states and transition relations of any transition system with the help of ROBDDs. I was trying to understand how the below would have executed…
3
votes
1 answer

Bit Blasting Algorithm

I found a pseudo algorithm which describes bit blasting: click (page 156,157). I am trying to implement it in C, but I don't understand it yet completely. Let's make an example: Assume our bit-vectors have only a length of 2 bits (for simplicity)…
racc44
  • 667
  • 2
  • 7
  • 11
3
votes
3 answers

Is the optimal order of graph vertices s.t. minimizes edges to later vertices a well-known problem?

I'm a little unfamiliar with graph theory, and I found an interesting problem in my work that I do not know if its already well-known or can be easily mapped to another one. If I were to express the problem more formally: Given a directed unweighted…
CatOsMandros
  • 133
  • 3
3
votes
1 answer

How to leverage the fact that I'm solving 1000's of very similar SMT instances?

I have a core SMT solver problem consisting of 100,000 bit-vector array clauses, and one 10000-dimensional bit-vector array. Then, my program takes as input k << 100,000 new clauses, and adds them to the core SMT problem. My goal is, for any input…
2
votes
0 answers

Passing arrays vs functions as arguments in SMT?

In SAT Modulo Theories (SMT), with the theory of uninterpreted functions, all functions are first order, that is, they don't take functions as arguments or return functions. In the theory of arrays, however, functions can take arrays as arguments,…
2
votes
1 answer

SMT solves with functions for free varibles

So this sounds like this might lead to an undecidable theory but I thought I would give it a try and ask about it after I found nothing on the subject. I am somewhat interested in finding functions which are counter examples to predicates (or…
Jake
  • 3,810
  • 21
  • 35
2
votes
0 answers

Which restrictions of SMT problems are decidable and what is their complexity?

We can easily create a SAT solver that is guaranteed to halt with "SAT" or "Unsat", by simply enumerating all possible solutions. Afaik, SOTA SAT solvers like kissat always halt, though in the worst case it might take exponential time. However, for…
user56834
  • 4,244
  • 5
  • 21
  • 35
1
2 3 4