21,204 research outputs found
Ranking Functions for Size-Change Termination II
Size-Change Termination is an increasingly-popular technique for verifying
program termination. These termination proofs are deduced from an abstract
representation of the program in the form of "size-change graphs".
We present algorithms that, for certain classes of size-change graphs, deduce
a global ranking function: an expression that ranks program states, and
decreases on every transition. A ranking function serves as a witness for a
termination proof, and is therefore interesting for program certification. The
particular form of the ranking expressions that represent SCT termination
proofs sheds light on the scope of the proof method. The complexity of the
expressions is also interesting, both practicaly and theoretically.
While deducing ranking functions from size-change graphs has already been
shown possible, the constructions in this paper are simpler and more
transparent than previously known. They improve the upper bound on the size of
the ranking expression from triply exponential down to singly exponential (for
certain classes of instances). We claim that this result is, in some sense,
optimal. To this end, we introduce a framework for lower bounds on the
complexity of ranking expressions and prove exponential lower bounds.Comment: 29 pages
Connection Matrices and the Definability of Graph Parameters
In this paper we extend and prove in detail the Finite Rank Theorem for
connection matrices of graph parameters definable in Monadic Second Order Logic
with counting (CMSOL) from B. Godlin, T. Kotek and J.A. Makowsky (2008) and
J.A. Makowsky (2009). We demonstrate its vast applicability in simplifying
known and new non-definability results of graph properties and finding new
non-definability results for graph parameters. We also prove a Feferman-Vaught
Theorem for the logic CFOL, First Order Logic with the modular counting
quantifiers
Graphs Identified by Logics with Counting
We classify graphs and, more generally, finite relational structures that are
identified by C2, that is, two-variable first-order logic with counting. Using
this classification, we show that it can be decided in almost linear time
whether a structure is identified by C2. Our classification implies that for
every graph identified by this logic, all vertex-colored versions of it are
also identified. A similar statement is true for finite relational structures.
We provide constructions that solve the inversion problem for finite
structures in linear time. This problem has previously been shown to be
polynomial time solvable by Martin Otto. For graphs, we conclude that every
C2-equivalence class contains a graph whose orbits are exactly the classes of
the C2-partition of its vertex set and which has a single automorphism
witnessing this fact.
For general k, we show that such statements are not true by providing
examples of graphs of size linear in k which are identified by C3 but for which
the orbit partition is strictly finer than the Ck-partition. We also provide
identified graphs which have vertex-colored versions that are not identified by
Ck.Comment: 33 pages, 8 Figure
Distributed Graph Automata and Verification of Distributed Algorithms
Combining ideas from distributed algorithms and alternating automata, we
introduce a new class of finite graph automata that recognize precisely the
languages of finite graphs definable in monadic second-order logic. By
restricting transitions to be nondeterministic or deterministic, we also obtain
two strictly weaker variants of our automata for which the emptiness problem is
decidable. As an application, we suggest how suitable graph automata might be
useful in formal verification of distributed algorithms, using Floyd-Hoare
logic.Comment: 26 pages, 6 figures, includes a condensed version of the author's
Master's thesis arXiv:1404.6503. (This version of the article (v2) is
identical to the previous one (v1), except for minor changes in phrasing.
Verifying Monadic Second-Order Properties of Graph Programs
The core challenge in a Hoare- or Dijkstra-style proof system for graph
programs is in defining a weakest liberal precondition construction with
respect to a rule and a postcondition. Previous work addressing this has
focused on assertion languages for first-order properties, which are unable to
express important global properties of graphs such as acyclicity,
connectedness, or existence of paths. In this paper, we extend the nested graph
conditions of Habel, Pennemann, and Rensink to make them equivalently
expressive to monadic second-order logic on graphs. We present a weakest
liberal precondition construction for these assertions, and demonstrate its use
in verifying non-local correctness specifications of graph programs in the
sense of Habel et al.Comment: Extended version of a paper to appear at ICGT 201
- …