Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Martin Jonáš
DTEDI
Commits
23460bbd
Commit
23460bbd
authored
Sep 01, 2016
by
Martin Jonáš
Browse files
Spell check
parent
c9bab3f4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Chapters/Chapter02.tex
View file @
23460bbd
...
...
@@ -473,7 +473,7 @@ and uninterpreted functions~\cite{McM11}.
The
\emph
{
theory of fixed sized bit-vectors (
\BV
)
}
is a multi-sorted
first-order theory with infinitely many sorts
$
\sort
{
n
}$
corresponding
to bit-vectors of length
$
n
$
. The only predicate symbols in the
\BV
theory are
$
=
$
,
$
\leq
_
u
$
, and
$
\leq
_
s
$
, interprete
a
d as equality,
theory are
$
=
$
,
$
\leq
_
u
$
, and
$
\leq
_
s
$
, interpreted as equality,
unsigned inequality of binary-encoded natural numbers, and signed
inequality of integers in
$
2
$
's complement representation,
respectively. Function symbols in the theory are
...
...
@@ -495,7 +495,7 @@ by a \sat solver. The transformation of a bit-vector formula to the
equivalent propositional formula is traditionally called
\emph
{
bit-blasting
}
~
\cite
{
Kro08
}
.
\marginpar
{
TODO: Nepřidat odstavec
o propagating-complete
\cnf
encodings?
}
More lazy approach to the
bit-blasting is benefi
t
ial when the theory combination is
bit-blasting is benefi
c
ial when the theory combination is
required. For example, solvers Z3 and Yices apply bit-blasting to all
operations except for the equality, which is handled by a specialized
solver, and dynamically add axioms of the array
...
...
@@ -509,7 +509,7 @@ satisfiability of the formula, theory lemmas and propagated literals
generated by the sub-solvers are added to the formula and a lazy
\dpllt
bit-blasting solver is employed~
\cite
{
HBJBT14
}
.
\subsection
{
Word-level tech
i
nques
}
\subsection
{
Word-level techn
i
ques
}
Although bit-blasting is highly efficient for most of practical
problems, it can exhaust memory of the solver if the input formula
contains complex arithmetic or variables with large bit-width. Several
...
...
@@ -535,7 +535,7 @@ heuristics for generalizing explanations of bit-vector conflicts. For
example, the solver
\mcsat
can perform the partial assignment
$
\extract
{
2
}{
0
}
(
x
)
\mapsto
10
$
, denoting that the two least
significant bits of
$
x
$
are
$
10
$
. To be able to efficiently use such
partial assignments, the solver
\mcbv
mantains two over-approximations
partial assignments, the solver
\mcbv
ma
i
ntains two over-approximations
of the set of models that are compatible with the current partial
assignment -- using
\emph
{
bit-patterns
}
and
\emph
{
arithmetic
intervals
}
. Bit-patterns are sequences of
$
0
$
,
$
1
$
and
$
u
$
, which
...
...
@@ -549,7 +549,7 @@ detected.
Another word-level approach for the full bit-vector theory is
\emph
{
stochastic local search
}
(
\sls
), proposed for solving
bit-vectors by Fr
o
hlich et al.~
\cite
{
FBWH15
}
and subsequently improved
bit-vectors by Fr
ö
hlich et al.~
\cite
{
FBWH15
}
and subsequently improved
by Niemetz et al.~
\cite
{
NPBF15,NPB16
}
. In the
\sls
approach, the
solver randomly chooses initial values of bit-vector variables and
tries to find a satisfying assignment by performing random bit flips,
...
...
@@ -562,10 +562,10 @@ necessary to satisfy randomly selected subformulas. The \sls based
solver has been shown to be able to decide several formulas not
decided by bit-blasting solvers. To combine benefit of bit-blasting
and
\sls
approaches, the latest version of Boolector, which have won
the 2016 SMT competition in category of
un
quantifie
d
bit-vectors,
uses
a p
r
otfolio approach, which consists in first running a
\sls
based
solver for a short period of time and then running a
bit-blasting
solver if the
\sls
solver fails to solve the
the 2016 SMT competition in category of quantifie
r-free
bit-vectors,
uses
a po
r
tfolio approach, which consists in first running a
\sls
based
solver for a short period of time and then running a
bit-blasting
solver if the
\sls
solver fails to solve the
formula~
\cite
{
BoolectorComp
}
.
\subsection
{
Preprocessing
}
...
...
@@ -726,12 +726,12 @@ of the bit-vector satisfiability problem differ in allowing
uninterpreted functions, allowing quantifiers, and in encoding of the
bit-widths (unary vs. binary). In the following, we follow the
notation of Kováznai et al~
\cite
{
KFB16
}
-- decision problems for
quantifer-free fragments are den
t
oted by the prefix QF
\_
, the
quantif
i
er-free fragments are denoted by the prefix QF
\_
, the
combination with the theory of uninterpreted functions is denoted by
the prefix UF, and the problems with unary and binary encoded
bit-widths are denoted by suffixes 1 and 2, respectively. For example,
QF
\_
UFBV2 is the decision problem for quantifier free formulas with
uninterpreted functions and binary encoded bit-withs. The completeness
uninterpreted functions and binary encoded bit-wi
d
ths. The completeness
results for these classes are summarized in table
\ref
{
tbl:complexity
}
, and briefly explained in the rest of this section.
...
...
@@ -790,7 +790,7 @@ original input bit-vector formula, as the number of bits may be
exponential with respect to the size of the formula. Therefore,
bit-blasting shows that QF
\_
BV2 is in
\NEXPTIME
. On the other hand,
Kovásznai et al. have presented a polynomial time reduction of
satisfiability of
\emph
{
dependent quantified
b
oolean formulas
}
(
\dqbf
)
satisfiability of
\emph
{
dependent quantified
B
oolean formulas
}
(
\dqbf
)
to QF
\_
BV2. Since
\dqbf
is well known to be
\NEXPTIME
-complete, this
reduction shows
\NEXPTIME
-hardness of QF
\_
BV2~
\cite
{
KFB12
}
. In
contrast, the precise complexity after adding quantifiers is not
...
...
@@ -798,7 +798,7 @@ known. BV2 is known to be in \EXPSPACE and because it contains all
formulas from QF
\_
BV2, it is also
\NEXPTIME
-hard.
Similarly to the case with the unary encoding, the complexity of the
quantifier-fre fragment stays the same when the uninterpreted
quantifier-fre
e
fragment stays the same when the uninterpreted
functions are added -- QF
\_
UFBV2 can be shown to be in
\NEXPTIME
by
the Ackermann reduction and
\NEXPTIME
-hard by the simple reduction
from QF
\_
UFBV2. The complexity of the problem after adding quantifiers
...
...
Chapters/Chapter03.tex
View file @
23460bbd
...
...
@@ -89,7 +89,7 @@ where $t$ is an arbitrary term that does not contain $x$.
\subsection
{
Variable ordering
}
Ordering of
\bdd
variables is crucial to efficiency. The size of a
\bdd
can differexponentially when choosing a different
\bdd
can differ
exponentially when choosing a different
ordering. Therefore, besides well known methods dynamic variable
reordering during the computation~
\cite
{
Rud93
}
, Q3B precomputes
initial variable ordering, which is based on the dependencies among
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment