680 research outputs found
Finite Countermodel Based Verification for Program Transformation (A Case Study)
Both automatic program verification and program transformation are based on
program analysis. In the past decade a number of approaches using various
automatic general-purpose program transformation techniques (partial deduction,
specialization, supercompilation) for verification of unreachability properties
of computing systems were introduced and demonstrated. On the other hand, the
semantics based unfold-fold program transformation methods pose themselves
diverse kinds of reachability tasks and try to solve them, aiming at improving
the semantics tree of the program being transformed. That means some
general-purpose verification methods may be used for strengthening program
transformation techniques. This paper considers the question how finite
countermodels for safety verification method might be used in Turchin's
supercompilation method. We extract a number of supercompilation sub-algorithms
trying to solve reachability problems and demonstrate use of an external
countermodel finder for solving some of the problems.Comment: In Proceedings VPT 2015, arXiv:1512.0221
On external presentations of infinite graphs
The vertices of a finite state system are usually a subset of the natural
numbers. Most algorithms relative to these systems only use this fact to select
vertices.
For infinite state systems, however, the situation is different: in
particular, for such systems having a finite description, each state of the
system is a configuration of some machine. Then most algorithmic approaches
rely on the structure of these configurations. Such characterisations are said
internal. In order to apply algorithms detecting a structural property (like
identifying connected components) one may have first to transform the system in
order to fit the description needed for the algorithm. The problem of internal
characterisation is that it hides structural properties, and each solution
becomes ad hoc relatively to the form of the configurations.
On the contrary, external characterisations avoid explicit naming of the
vertices. Such characterisation are mostly defined via graph transformations.
In this paper we present two kind of external characterisations:
deterministic graph rewriting, which in turn characterise regular graphs,
deterministic context-free languages, and rational graphs. Inverse substitution
from a generator (like the complete binary tree) provides characterisation for
prefix-recognizable graphs, the Caucal Hierarchy and rational graphs. We
illustrate how these characterisation provide an efficient tool for the
representation of infinite state systems
Topological finiteness properties of monoids. Part 1: Foundations
We initiate the study of higher dimensional topological finiteness properties
of monoids. This is done by developing the theory of monoids acting on CW
complexes. For this we establish the foundations of -equivariant homotopy
theory where is a discrete monoid. For projective -CW complexes we prove
several fundamental results such as the homotopy extension and lifting
property, which we use to prove the -equivariant Whitehead theorems. We
define a left equivariant classifying space as a contractible projective -CW
complex. We prove that such a space is unique up to -homotopy equivalence
and give a canonical model for such a space via the nerve of the right Cayley
graph category of the monoid. The topological finiteness conditions
left- and left geometric dimension are then defined for monoids
in terms of existence of a left equivariant classifying space satisfying
appropriate finiteness properties. We also introduce the bilateral notion of
-equivariant classifying space, proving uniqueness and giving a canonical
model via the nerve of the two-sided Cayley graph category, and we define the
associated finiteness properties bi- and geometric dimension. We
explore the connections between all of the these topological finiteness
properties and several well-studied homological finiteness properties of
monoids which are important in the theory of string rewriting systems,
including , cohomological dimension, and Hochschild
cohomological dimension. We also develop the corresponding theory of
-equivariant collapsing schemes (that is, -equivariant discrete Morse
theory), and among other things apply it to give topological proofs of results
of Anick, Squier and Kobayashi that monoids which admit presentations by
complete rewriting systems are left-, right- and bi-.Comment: 59 pages, 1 figur
Compositions with superlinear deterministic top-down tree transformations
AbstractWe denote the class of deterministic top-down tree transformations by DT and the class of homomorphism tree transformations by HOM. The sign of a class with the prefix l- (sl-, nd-) denotes the linear (superlinear, nondeleting) subclass of that class. We fix the set M = HOM,sl-DT, l-DT, nd-DT, DT of tree transformation classes. Then consider the monoid [M] of all tree transformation classes of the form X1 O … OXm, where O is the operation composition, m ⩾ 0 and the Xi's are elements of M. As the main result of the paper, we give an effective description of the monoid [M] with respect to inclusion. This means that we present an algorithm which can decide, given arbitrary two elements of the monoid, whether some inclusion, equality or incomparability holds between them
The Sketch of a Polymorphic Symphony
In previous work, we have introduced functional strategies, that is,
first-class generic functions that can traverse into terms of any type while
mixing uniform and type-specific behaviour. In the present paper, we give a
detailed description of one particular Haskell-based model of functional
strategies. This model is characterised as follows. Firstly, we employ
first-class polymorphism as a form of second-order polymorphism as for the mere
types of functional strategies. Secondly, we use an encoding scheme of run-time
type case for mixing uniform and type-specific behaviour. Thirdly, we base all
traversal on a fundamental combinator for folding over constructor
applications.
Using this model, we capture common strategic traversal schemes in a highly
parameterised style. We study two original forms of parameterisation. Firstly,
we design parameters for the specific control-flow, data-flow and traversal
characteristics of more concrete traversal schemes. Secondly, we use
overloading to postpone commitment to a specific type scheme of traversal. The
resulting portfolio of traversal schemes can be regarded as a challenging
benchmark for setups for typed generic programming.
The way we develop the model and the suite of traversal schemes, it becomes
clear that parameterised + typed strategic programming is best viewed as a
potent combination of certain bits of parametric, intensional, polytypic, and
ad-hoc polymorphism
- …