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
7a11c67b
Commit
7a11c67b
authored
Sep 05, 2016
by
Martin Jonas
Browse files
Going to bed
parent
b31d2780
Changes
4
Hide whitespace changes
Inline
Side-by-side
Chapters/Chapter02.tex
View file @
7a11c67b
...
...
@@ -8,11 +8,12 @@
This section introduces the notation used in the rest of this
chapter. The exposition of the propositional logic is mainly based on
the work of Nieuwenhuis et al.~
\cite
{
NOT06
}
. The exposition of the
first-order logic is based on works of Enderton~
\cite
{
End01
}
and of
Barrett et al.~
\cite
{
BSST09
}
. Note that instead of following the
approach of Enderton, we follow the approach of Barrett et al. and
define the theory as a set of first-order
\emph
{
structures
}
, rather
than a set of first-order sentences.
first-order logic is based mainly on works of Enderton~
\cite
{
End01
}
and of Barrett et al.~
\cite
{
BSST09
}
. Note that instead of following
the approach of Enderton to the first-order theories, we follow the
approach of Barrett et al. and define the theory as a set of
first-order
\emph
{
structures
}
, rather than a set of first-order
sentences.
\subsection
{
Propositional formulas, assignments, and satisfaction
}
\label
{
prelim:prop
}
...
...
@@ -21,7 +22,7 @@ Let $\P$ be a fixed finite set of propositional variables. For every
variable
$
x
\in
\P
$
there are two literals -- a
\emph
{
positive
literal
}
$
x
$
and a
\emph
{
negative literal
}
$
\overline
{
x
}$
. For a
given literal
$
l
$
, we define
$
\neg
l
$
as
$
\overline
{
l
}$
if
$
l
=
x
$
for
some
variable
$
x
$
and as
$
x
$
if
$
l
=
\overline
{
x
}$
for
some
variable
a
variable
$
x
$
and as
$
x
$
if
$
l
=
\overline
{
x
}$
for
a
variable
x. Literals
$
l
$
and
$
\neg
l
$
are called
\emph
{
complementary
}
. A
\emph
{
clause
}
is a finite disjunction of literals. The empty clause is
denoted by
$
\bot
$
. A formula in the
\emph
{
conjunctive normal form
}
...
...
@@ -65,7 +66,7 @@ if $\varphi$ is satisfiable precisely if $\psi$ is satisfiable.
A
\emph
{
signature
}
$
\Sigma
$
consists of a set of
\emph
{
function
symbols
}
$
\Sigma
^
f
$
, a set of
\emph
{
predicate symbols
}
$
\Sigma
^
p
$
,
and for each of these symbols a non-negative number called its
and for each of these symbols
of
a non-negative number called its
\emph
{
arity
}
. Given a signature
$
\Sigma
$
,
\emph
{$
\Sigma
$
-terms
}
,
\emph
{$
\Sigma
$
-atoms
}
,
\emph
{$
\Sigma
$
-literals
}
,
\emph
{$
\Sigma
$
-clauses
}
,
\emph
{$
\Sigma
$
-formulas
}
, and
...
...
@@ -104,10 +105,10 @@ $\Sigma$-formula and $\Gamma$ is a set of $\Sigma$-formulas, we say
that
\emph
{$
\Gamma
$
entails
$
\varphi
$
in
$
\mathcal
{
T
}$}
, written
$
\Gamma
\models
_
\mathcal
{
T
}
\varphi
$
, if every
$
\Sigma
$
-structure that
satisfies all formulas in
$
\Gamma
$
also satisfies
$
\varphi
$
. If
$
\emptyset
\models
_
\mathcal
{
T
}
\varphi
$
for
a
$
\
Sigma
$
-formula
$
\varphi
$
, the formula
$
\varphi
$
is
called
\emph
{$
\mathcal
{
T
}$
-valid
}
or a
\emph
{
theory lemma
}
. A set
$
\Gamma
$
of
$
\Sigma
$
-formulas is
called
\emph
{$
\mathcal
{
T
}$
-inconsistent
}
, if
$
\emptyset
\models
_
\mathcal
{
T
}
\varphi
$
, the
for
mul
a
$
\
varphi
$
is
called
\emph
{$
\mathcal
{
T
}$
-valid
}
or a
\emph
{
theory lemma
}
. A set
$
\Gamma
$
of
$
\Sigma
$
-formulas is
called
\emph
{$
\mathcal
{
T
}$
-inconsistent
}
, if
$
\Gamma
\models
_{
\mathcal
{
T
}}
\bot
$
.
% If $\varphi$
...
...
@@ -141,8 +142,8 @@ simultaneous substitution of every free variable $x_i$ in $\varphi$ by
the term
$
t
_
i
$
.
In the rest of this chapter, we consider only theories for which the
satisfiability of conjunctions of literals is decidable and
we call
any decision procedure for conjunctions of
$
\
mathcal
{
T
}
$
-literals a
satisfiability of conjunctions of
$
\Sigma
$
-
literals is decidable and
we call
any decision procedure for conjunctions of
$
\
Sigma
$
-literals a
$
\mathcal
{
T
}$
-
\emph
{
solver
}
. Moreover, if the signature or the theory
is clear from the context, we drop the respective
$
\Sigma
$
- or
$
\mathcal
{
T
}$
- prefixes.
...
...
@@ -184,8 +185,8 @@ in Enderton~\cite{End01}.
\section
{
Propositional satisfiability
}
\label
{
sec:sat
}
A
\emph
{
propositional satisfiability problem
}
(
\sat
) is
, for a given
formula
$
\varphi
$
in
\cnf
,
to decide
whether it is satisfiable. The
A
\emph
{
propositional satisfiability problem
}
(
\sat
) is
to decide for
a given
formula
$
\varphi
$
in
\cnf
, whether it is satisfiable. The
restriction to formulas in
\cnf
is without a loss of generality, as
the Tseytin transformation can be used to transform every formula to
an equisatisfiable formula in
\cnf
with only linear increase of its
...
...
@@ -254,7 +255,7 @@ change the value of the last decision literal that occurs in the
clause
$
C
$
. Note that this literal does not have to be the last
decision literal in the search and therefore a bigger region of the
search space can be ruled out from the search, as it is known not to
contain any solution. There are multiple strategies of computing the
contain any solution
s
. There are multiple strategies of computing the
clausal reason for the conflict, but the majority of
\cdcl
based
\sat
solvers are using the
\emph
{
first unique implication point
}
based
learning scheme, which has been shown to produce small clauses in
...
...
@@ -310,14 +311,14 @@ using Reduced Ordered \bdds, which represent Boolean functions
combinations of the represented Boolean functions using the recursive
procedure
\texttt
{
Apply
}
~
\cite
{
Bry86
}
. The main idea of symbolic
\sat
solvers is to convert a
\cnf
formula to the corresponding
\robdd
and
check the root of the resulting
\bdd
. If the resulting
\bdd
has the
root 0, the formula is unsatisfiable, and it is satisfiable
otherwise. However, in order to keep the size of the
\bdd
small, it is
necessary to existentially quantify the variables during the
computation. This technique is known
as
\emph
{
early
quantification
}
~
\cite
{
HKB96
}
. A simplified symbolic
\sat
algorithm
can be found for example in the survey of
\sat
solving
by Darwiche and
Pipatsriswat~
\cite
{
DP09
}
.
check the root of the resulting
\bdd
. If the resulting
\bdd
is
equivalent to the
\bdd
for the constant
$
0
$
function, the formula is
unsatisfiable, and it is satisfiable otherwise. However, in order to
keep the size of the
\bdd
small, it is necessary to existentially
quantify the variables during the
computation. This technique is known
as
\emph
{
early
quantification
}
~
\cite
{
HKB96
}
. A simplified symbolic
\sat
algorithm
can be found for example in the survey of
\sat
solving
by Darwiche and
Pipatsriswat~
\cite
{
DP09
}
.
Look-ahead based algorithm, in contrast to the
\cdcl
, are employing
expensive heuristics to guide the
\dpll
search to a satisfying
...
...
@@ -370,11 +371,10 @@ Notable examples of decidable first-order theories include
ternary function
$
\arwrite
(
a, i, v
)
$
interpreted as an array
$
a
$
modified to contain the value
$
v
$
on the index
$
i
$
;
\item
the theory of
\emph
{
fixed-size bit-vectors
}
, in which the
structure contains all bit-vectors as an universe, ordering
relations according to the corresponding integers, and interpreted
functions are bit-wise operations on the bit-vectors and modular
arithmetic operations on the corresponding integers. This theory is
in detail described in section
\ref
{
sec:qfbv
}
.
structure contains set of all bit-vectors as an universe, bit-wise
and arithmetic functions on those bit-vectors, and ordering
relations on the corresponding integers. This theory is in detail
described in section
\ref
{
sec:qfbv
}
.
\end{itemize}
For a detailed description of these theories and implementation of the
respective
$
\mathcal
{
T
}$
-solvers, we refer the reader for example to the book of
...
...
@@ -395,7 +395,7 @@ $\mathcal{T}$-satisfiable formula has a model, whose every sort has an
infinite domain. Although almost all practically used theories are
stably infinite, this is not true for inherently finite theories like
the theory of bit-vectors. Therefore, variants of the theory
combination
s
in which one of the theories does not have to be stably
combination in which one of the theories does not have to be stably
infinite have been proposed~
\cite
{
TZ05, RRZ05, JB10
}
.
\subsection
{
DPLL modulo theories
}
...
...
@@ -405,14 +405,14 @@ Most of the \smt approaches can be classified as \emph{eager} or
is directly translated to an equivalent propositional formula and an
off-the-shelf
\sat
solver is used to decide satisfiability of this
formula. The eager
\smt
approach is implemented for example in the
\smt
solver
\uclid
, which supports
the combination of the theory of
uninterpreted
functions and linear integer arithmetic~
\cite
{
LS04
}
.
\smt
solver
\uclid
for
the combination of the theory of
uninterpreted
functions and linear integer arithmetic~
\cite
{
LS04
}
.
On the other hand, the lazy
\smt
approach uses a
\sat
solver to reason
about the Boolean structure of the formula and a specialized
$
\mathcal
{
T
}$
-solver to reason about conjunctions of
$
\
mathcal
{
T
}
$
-literals. There are two variants of the lazy approach to
the
\smt
solving --
\emph
{
online
}
and
\emph
{
offline
}
~
\cite
{
FJOS03
}
.
$
\
Sigma
$
-literals. There are two variants of the lazy approach to
the
\smt
solving --
\emph
{
online
}
and
\emph
{
offline
}
~
\cite
{
FJOS03
}
.
\paragraph
{
Offline approach
}
In the offline approach, the input formula
$
\varphi
$
is first
...
...
@@ -423,8 +423,8 @@ $\varphi^p$. If $\varphi^p$ is unsatisfiable, the input formula
$
\varphi
$
is also unsatisfiable. On the other hand, if
$
\varphi
^
p
$
is
satisfiable, the
\sat
solver returns its propositional model
$
M
^
p
$
,
and the
$
\mathcal
{
T
}$
-solver can be used to determine
$
\mathcal
{
T
}$
-satisfiability of the corresponding set of
literals
$
M
$
. If the
$
\mathcal
{
T
}$
-solver decides
$
M
$
to be
$
\mathcal
{
T
}$
-satisfiability of the corresponding set of
$
\Sigma
$
-literals
$
M
$
. If the
$
\mathcal
{
T
}$
-solver decides
$
M
$
to be
$
\mathcal
{
T
}$
-satisfiable, the formula
$
\varphi
$
is also
$
\mathcal
{
T
}$
-satisfiable. If the propositional model is not
$
\mathcal
{
T
}$
-satisfiable, the corresponding theory lemma
$
\neg
M
^
p
$
...
...
@@ -468,11 +468,11 @@ Simplify~\cite{Simplify}, Yices~\cite{Yices}, and Z3~\cite{Z3}.
\subsection
{
Natural domain
\smt
}
\label
{
ssec:natDomainSat
}
Although the separation of the propositional and theory reasoning in
the
\dpllt
approach
allows the solver to be modular, it can be also
restricting in
some cases. In particular,
\dpllt
-based solvers can not
directly
reason about values of first-order variables, but have to
rely on the
$
\mathcal
{
T
}$
-solver guiding the search over Boolean
valuations. While
there are some techniques like
\emph
{
splitting on
\dpllt
allows the solver to be modular, it can be also
restricting in
some cases. In particular,
\dpllt
-based solvers can not
directly
reason about values of first-order variables, but have to
rely on the
$
\mathcal
{
T
}$
-solver guiding the search over Boolean
valuations. While
there are some techniques like
\emph
{
splitting on
demand
}
~
\cite
{
BNOT06
}
, which allow the
$
\mathcal
{
T
}$
-solver to add
new atoms to the formula and delegate the case splitting to the
underlying
\sat
solver, their performance depends on the internal
...
...
@@ -514,7 +514,7 @@ computed by the conflict analysis.
In thus specified framework, an abstract domain can be replaced by an
arbitrary domain that satisfies a certain set of requirements and this
yields an abstract conflict-driven clause learning
\acdcl
algorithm
using this particular domain.
As an
example, Brain et al. have
using this particular domain.
For
example, Brain et al. have
implemented the
\fpacdcl
solver for the floating point arithmetic
using an abstract interval domain and have shown that on a certain
class of formulas it significantly outperforms state-of the art
\smt
...
...
@@ -556,14 +556,15 @@ core. In the second approach each clause can be represented by a fresh
selector variable and after a top level conflict, clauses whose
selector variable appears in the final conflict clause are returned as
an unsatisfiable core. Third approach consists in combination of an
\smt
solver with an external propositional core~
\cite
{
CGS07
}
.
\smt
solver with an external propositional core
extractor~
\cite
{
CGS07
}
.
A (Craig) interpolant for a pair of formulas
$
F
$
and
$
G
$
such that
$
F
\wedge
G
$
is unsatisfiable is a formula
$
I
$
such that
$
F
\models
_
T I
$
,
$
G
\wedge
I
$
is unsatisfiable, and all uninterpreted
symbols in
$
I
$
are contained in both
$
F
$
and
$
G
$
. Following the work
of Pudlák~
\cite
{
Pud97
}
or
and McMillan~
\cite
{
McM05
}
, an interpolant
for
the pair
$
(
F, G
)
$
over the theory
$
\mathcal
{
T
}$
can be computed from a
of Pudlák~
\cite
{
Pud97
}
and McMillan~
\cite
{
McM05
}
, an interpolant
for
the pair
$
(
F, G
)
$
over the theory
$
\mathcal
{
T
}$
can be computed from a
resolution proof of unsatisfiability of
$
F
\wedge
G
$
by using a
combination of a propositional interpolating algorithm and a theory
specific interpolation procedure, which computes interpolants of
...
...
@@ -578,20 +579,18 @@ and uninterpreted functions~\cite{McM11}.
The
\emph
{
theory of fixed sized bit-vectors (
\BV
)
}
is a many-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
$
, 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
$
+
$
,
$
\times
$
,
$
\div
$
,
$
\&
$
,
$
\mid
$
,
$
\oplus
$
,
$
\ll
$
,
$
\gg
$
,
$
\cdot
$
,
$
\extract
{
n
}{
p
}$
, interpreted as addition, multiplication, unsigned
division, bit-wise and, bit-wise or, bit-wise exclusive or,
left-shift, right-shift, concatenation, and extraction of
$
n
$
bits
starting from the position
$
p
$
, respectively. For the detailed
description of the
\BV
theory syntax and semantics, see for example
Hadarean's PhD thesis~
\cite
{
Had15
}
. This section focuses on the
problem of satisfiability of the quantifier-free fragment of the
\BV
theory, denoted
\QFBV
. The the full
\BV
logic is treated in the next
section.
theory are
$
\leq
_
u
$
and
$
\leq
_
s
$
, interpreted as inequality of
binary-encoded unsigned and signed integers, respectively. Function
symbols in the theory are
$
+
$
,
$
\times
$
,
$
\div
$
,
$
\&
$
,
$
\mid
$
,
$
\oplus
$
,
$
\ll
$
,
$
\gg
$
,
$
\cdot
$
,
$
\extract
{
n
}{
p
}$
, interpreted as
addition, multiplication, unsigned division, bit-wise and, bit-wise
or, bit-wise exclusive or, left-shift, right-shift, concatenation, and
extraction of
$
n
$
bits starting from the position
$
p
$
,
respectively. For the detailed description of the
\BV
theory syntax
and semantics, see for example Hadarean's PhD
thesis~
\cite
{
Had15
}
. This section focuses on the problem of
satisfiability of the quantifier-free fragment of the
\BV
theory,
denoted
\QFBV
. The the full
\BV
logic is treated in the next section.
Current state-of-the-art
\smt
solvers for the
\QFBV
logic rely on
rewriting techniques used to simplify the formula during the
...
...
@@ -599,8 +598,7 @@ preprocessing, and eager or lazy translation of the bit-vector formula
to the equivalent propositional formula, which is subsequently solved
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
\emph
{
bit-blasting
}
~
\cite
{
Kro08
}
. More lazy approach to the
bit-blasting is beneficial 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
...
...
@@ -620,13 +618,13 @@ 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
techniques that avoid the bit-blasting and work directly on the level
of individual bit-vectors (
\emph
{
word
-
level
}
) have been proposed to
of individual bit-vectors (
\emph
{
word
level
}
) have been proposed to
alleviate this problem.
Some useful fragments of the bit-vector theory can be solved by
specialized algorithms for deciding satisfiability. For example,
conjunctions of literals in the
\emph
{
core theory of bit-vectors
}
consisting of equality, concatenation and extraction,
is
decidable in
consisting of equality, concatenation and extraction,
are
decidable in
polynomial time by reduction to the theory of equality~
\cite
{
CMR97,
BS09
}
. Additionally, Babić and Musuvathi have described algorithms
for solving linear and non-linear modular arithmetic, which can be
...
...
@@ -709,13 +707,14 @@ industrial benchmarks and especially in benchmarks produced during a
verification of programs in a single static assignment form, such as
LLVM bit-code.
With a slight abuse of notation which identifies interpreted function
symbols with their intended interpretations, a simple definition of
invertibility for binary function symbols, which can be easily
generalized, is as follows. A binary function
$
f
$
can be inverted with
respect to its first argument if for every two values
$
a
_
i, a
_
o
$
there
exists a value
$
b
$
such that
$
f
(
b,a
_
i
)
=
a
_
o
$
. For example, as the
addition is invertible with respect to its first argument, the formula
With a slight abuse of notation which identifies function symbols with
their intended interpretations, a simple definition of invertibility
for binary function symbols is as follows. A binary function
$
f
$
can
be inverted with respect to its first argument if for every two values
$
a
_
i, a
_
o
$
there exists a value
$
b
$
such that
$
f
(
b,a
_
i
)
=
a
_
o
$
. This
definition can be easily generalized to functions of different
arities. For example, as the addition is invertible with respect to
its first argument, the formula
$
\varphi
\equiv
x
+
(
y
*
y
-
30
*
z
*
y
)
=
0
$
can be transformed to an
equisatisfiable formula
$
v
=
0
$
, where
$
v
$
is a fresh variable,
because
$
x
$
is unconstrained in
$
\varphi
$
. Note that in contrast to
...
...
@@ -736,7 +735,7 @@ multiple ways to choose quantifier instances that are sufficient to
decide the satisfiability of the formula. For the bit-vector theory,
the most widely used approach is the
\emph
{
model-based quantifier
instantiation
}
~
\cite
{
GM09
}
, implemented in Z3, CVC4, and Yices,
combined
by
heuristics as
\emph
{
E-matching
}
or
\emph
{
symbolic
combined
with
heuristics as
\emph
{
E-matching
}
or
\emph
{
symbolic
quantifier instantiation
}
~
\cite
{
WHD13,Dut15
}
. Additionally, for
dealing with quantifiers, CVC4 supports solving quantified formulas by
\emph
{
counter-example guided quantifier instantiation
}
~
\cite
{
RDKT15
}
.
...
...
@@ -767,10 +766,10 @@ $\neg \widehat{\psi}$ is not satisfiable, then the structure $M$ is
indeed a model of the formula
$
\forall
x
_
1
, x
_
2
,
\dots
, x
_
n
\,
(
\psi
)
$
,
therefore the entire formula is satisfiable and
$
M
$
is its model. If
$
\neg
\widehat
{
\psi
}$
is satisfiable, we get values
$
v
_
1
,
\dots
, v
_
n
$
such that
$
\neg\widehat
{
\psi
}
[
v
_
1
,
\dots
, v
_
n
]
$
holds.
To rule out
$
M
$
as a model
as
the formula
$
\varphi
$
, the instance
$
\psi
[
v
_
1
,
\dots
, v
_
n
]
$
of the quantified formula is added to the
quantifier-free part,
i.e.~the formula
$
\varphi
$
is modified to
such that
$
\neg\widehat
{
\psi
}
[
v
_
1
,
\dots
, v
_
n
]
$
holds. To rule out
$
M
$
as a model
of
the
input
formula, the instance
$
\psi
[
v
_
1
,
\dots
, v
_
n
]
$
of the quantified formula is added to the
quantifier-free part,
i.e.~the formula
$
\varphi
$
is modified to
\[
\varphi
' ~
\equiv
~
\varphi
\wedge
\psi
[
v
_
1
,
\dots
, v
_
n
]
,
\]
...
...
@@ -833,7 +832,7 @@ studied and was shown to range from \NP-complete to
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
notation of Kováznai et al
.
~
\cite
{
KFB16
}
-- decision problems for
quantifier-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
...
...
@@ -874,7 +873,7 @@ results for these classes are summarized in table
polynomial time reduction from QF
\_
BV1 to
\sat
, showing that QF
\_
BV1
is in NP. A similar reduction from BV1 to
\qbf
can show that BV is in
\PSPACE
. For lower bounds,
\NP
-hardness of QF
\_
BV1 follows from a
simple reduction from
\sat
,
by encoding each propositional variable as
simple reduction from
\sat
by encoding each propositional variable as
a bit-vector of bit-width 1. Similarly, BV1 can be shown to be
\PSPACE
-hard by considering every bit-vector as a quantified variable
of bit-width 1.
...
...
Chapters/Chapter03.tex
View file @
7a11c67b
...
...
@@ -19,8 +19,8 @@ The benefit of a \bdd-based solver over the quantifier
instantiation-based one is the ability of representing all models of a
universally quantified formula even in cases in which finding a
suitable set of quantifier instantiations would be infeasible. The
following formula, in which all variables have bit-with 32 bits,
shows
this difference:
following formula, in which all variables have bit-wi
d
th 32 bits,
shows
this difference:
\[
\varphi
\equiv
a
=
16
\cdot
b
\,
+
\,
16
\cdot
c~
\wedge
~
\forall
(
x :
[
32
])
\,
(
a
\not
=
16
\cdot
x
)
.
...
...
@@ -29,14 +29,15 @@ this difference:
The
\bdd
-based solver can quickly compute the
\bdd
for the quantified
subformula
$
\forall
(
x :
[
32
])
\,
(
a
\not
=
16
\cdot
x
)
$
, which shows
that at least one of the last 4 bits of the variable
$
a
$
has to be
$
0
$
, i.e. the value of
$
a
$
is not divisible by
$
16
$
. After conjoining
$
1
$
, i.e. the value of
$
a
$
is not divisible by
$
16
$
. After conjoining
this
\bdd
to the
\bdd
for
$
a
=
16
\cdot
b
\,
+
\,
16
\cdot
c
$
, the formula
is decided unsatisfiable, as the resulting
\bdd
has root
$
0
$
. On the
other hand, if one considers only quantifier instantiations by the
subterm of the input formula, exponentially many quantifier instances
have to be added to the formula to show its unsatisfiability, as there
is no subterm of
$
\varphi
$
that can be instantiated as
$
x
$
to yield an
unsatisfiable quantifier-free formula.
is decided unsatisfiable, as the resulting
\bdd
represents the
constant
$
0
$
function. On the other hand, if one considers only
quantifier instantiations by the subterm of the input formula,
exponentially many quantifier instances have to be added to the
formula to show its unsatisfiability, as there is no subterm of
$
\varphi
$
that can be instantiated as
$
x
$
to yield an unsatisfiable
quantifier-free formula.
\subsection
{
Simplifications
}
...
...
@@ -57,7 +58,7 @@ distributed over disjunctions.
Moreover, universal quantification can distribute over disjunctions in
cases where the variable bound by the quantifier does not occur in one
of the
con
juncts. This leads to the following rule and its dual
of the
dis
juncts. This leads to the following rule and its dual
version, which is known as
\emph
{
miniscoping
}
:
\[
\forall
x.
\,
(
\varphi
~
\vee
~
\psi
)
~~
\leadsto
~~
(
\forall
x .
\,
...
...
@@ -91,9 +92,9 @@ where $t$ is an arbitrary term that does not contain $x$.
Ordering of
\bdd
variables is crucial for efficiency. The size of a
\bdd
can differ exponentially when choosing a different
ordering. Therefore, besides well known methods of dynamic variable
reordering during the computation, Q3B
pre
computes
initial variable
ordering, which is based on the dependencies among
the
variables in the formula.
reordering during the computation, Q3B computes
an initial variable
ordering, which is based on the
syntactic
dependencies among
the
variables in the formula.
We have implemented and compared three different initial orderings,
which we denote
$
\leq
_
1
,
\leq
_
2
,
\leq
_
3
$
.
...
...
@@ -297,7 +298,7 @@ formulas.
\end{minipage}
}
\end{table}
Recently, th
is
results w
as
confirmed by the
\smt
competition 2016 --
Recently, th
ese
results w
ere
confirmed by the
\smt
competition 2016 --
our solver is the winner of the quantified-bit vectors category. Table
\ref
{
tbl:smtcomp
}
shows official results for this category. The
benchmarks are divided into two groups, with
\emph
{
known
}
and
...
...
@@ -309,7 +310,7 @@ them in the shortest time. Moreover, Q3B can solve more benchmarks
with unknown status than any of the other solvers.
\section
{
Other areas of research
}
Outside the field of
\smt
solving, my research
also consists in
Outside the field of
\smt
solving, my research
interests also include
software verification. In this field, I have co-authored the following
paper on the tool Symbiotic, which combines instrumentation, slicing
and, symbolic execution to allow verification of a real-world
...
...
@@ -324,7 +325,7 @@ code~\cite{CJSSV16}.
Formulas Using Binary Decision Diagrams.
}
" In: Theory and
Applications of Satisfiability Testing -- SAT 2016 -- 19th
International Conference, Bordeaux, France, July 5-8, 2016,
Proceedings. 2016, pp. 267-283
Proceedings. 2016, pp. 267-283
~
\cite
{
JS16
}
\smallskip
I am the main author of the text of the paper. I have also
...
...
@@ -335,7 +336,7 @@ code~\cite{CJSSV16}.
Algorithms for the Construction and Analysis of Systems -- 22nd
International Conference, TACAS 2016, Held as Part of the ETAPS
2016, Eindhoven, The Netherlands, April 2-8, 2016, Proceedings,
pp. 946-949
pp. 946-949
~
\cite
{
CJSSV16
}
\smallskip
...
...
Chapters/Chapter04.tex
View file @
7a11c67b
...
...
@@ -39,14 +39,9 @@ achieving this is adding support for \bdds to the solver \mcbv
developed by Zeljić et al. The
\bdd
representation can be added to the
currently used over-approximations by bit-patterns and arithmetic
intervals. Moreover, a tighter cooperation is possible -- if a value
of a variable is decided by during the
\mcbv
computation, it can be
used to partially instantiate a quantified part of the formula, for
which the
\bdd
will be computed.
As the part of my PhD study, an implementation of a solver using the
hybrid approach and its evaluation on the representative set of
benchmarks is expected. The hybrid approach to quantified bit-vectors
is the main aim of my PhD study.
of a variable is decided during the
\mcbv
computation, it can be used
to partially instantiate a quantified part of the formula, for which
the
\bdd
will be computed.
\subsection
{
Unconstrained variable propagation for quantified
bit-vectors
}
...
...
@@ -70,7 +65,7 @@ be replaced by a simpler term regargless the parity of the value
$
k
$
. In particular, if
$
i
$
is the largest number for which
$
2
^
i
$
divides the constant
$
k
$
and the unconstrained variable
$
x
$
has
bit-width
$
n
$
, the term
$
k
\times
x
$
can be rewritten to
$
extract
_
0
^{
n
-
i
}
(
x
)
\cdot
0
^
i
$
.
.
This approach can be also extended to
$
extract
_
0
^{
n
-
i
}
(
x
)
\cdot
0
^
i
$
. This approach can be also extended to
the multiplication of two variables from which one is unconstrained. I
plan to investigate further extensions to the terms containing
division and remainder operations and to publish a paper concerning
...
...
classicthesis-config.tex
View file @
7a11c67b
...
...
@@ -26,7 +26,7 @@
% 1. Configure classicthesis for your needs here, e.g., remove "drafting" below
% in order to deactivate the time-stamp on the pages
% ****************************************************************************************************
\PassOptionsToPackage
{
eulerchapternumbers,listings,
drafting,
dottedtoc,
\PassOptionsToPackage
{
eulerchapternumbers,listings,dottedtoc,
%floatperchapter,%linedheaders,%
subfig,beramono,eulermath,minionprospacing
}{
classicthesis
}
% ********************************************************************
...
...
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