1,743 research outputs found
Building Decision Procedures in the Calculus of Inductive Constructions
It is commonly agreed that the success of future proof assistants will rely
on their ability to incorporate computations within deduction in order to mimic
the mathematician when replacing the proof of a proposition P by the proof of
an equivalent proposition P' obtained from P thanks to possibly complex
calculations. In this paper, we investigate a new version of the calculus of
inductive constructions which incorporates arbitrary decision procedures into
deduction via the conversion rule of the calculus. The novelty of the problem
in the context of the calculus of inductive constructions lies in the fact that
the computation mechanism varies along proof-checking: goals are sent to the
decision procedure together with the set of user hypotheses available from the
current context. Our main result shows that this extension of the calculus of
constructions does not compromise its main properties: confluence, subject
reduction, strong normalization and consistency are all preserved
Type classes for efficient exact real arithmetic in Coq
Floating point operations are fast, but require continuous effort on the part
of the user in order to ensure that the results are correct. This burden can be
shifted away from the user by providing a library of exact analysis in which
the computer handles the error estimates. Previously, we [Krebbers/Spitters
2011] provided a fast implementation of the exact real numbers in the Coq proof
assistant. Our implementation improved on an earlier implementation by O'Connor
by using type classes to describe an abstract specification of the underlying
dense set from which the real numbers are built. In particular, we used dyadic
rationals built from Coq's machine integers to obtain a 100 times speed up of
the basic operations already. This article is a substantially expanded version
of [Krebbers/Spitters 2011] in which the implementation is extended in the
various ways. First, we implement and verify the sine and cosine function.
Secondly, we create an additional implementation of the dense set based on
Coq's fast rational numbers. Thirdly, we extend the hierarchy to capture order
on undecidable structures, while it was limited to decidable structures before.
This hierarchy, based on type classes, allows us to share theory on the
naturals, integers, rationals, dyadics, and reals in a convenient way. Finally,
we obtain another dramatic speed-up by avoiding evaluation of termination
proofs at runtime.Comment: arXiv admin note: text overlap with arXiv:1105.275
Model Checking Synchronized Products of Infinite Transition Systems
Formal verification using the model checking paradigm has to deal with two
aspects: The system models are structured, often as products of components, and
the specification logic has to be expressive enough to allow the formalization
of reachability properties. The present paper is a study on what can be
achieved for infinite transition systems under these premises. As models we
consider products of infinite transition systems with different synchronization
constraints. We introduce finitely synchronized transition systems, i.e.
product systems which contain only finitely many (parameterized) synchronized
transitions, and show that the decidability of FO(R), first-order logic
extended by reachability predicates, of the product system can be reduced to
the decidability of FO(R) of the components. This result is optimal in the
following sense: (1) If we allow semifinite synchronization, i.e. just in one
component infinitely many transitions are synchronized, the FO(R)-theory of the
product system is in general undecidable. (2) We cannot extend the expressive
power of the logic under consideration. Already a weak extension of first-order
logic with transitive closure, where we restrict the transitive closure
operators to arity one and nesting depth two, is undecidable for an
asynchronous (and hence finitely synchronized) product, namely for the infinite
grid.Comment: 18 page
Verifying Recursive Active Documents with Positive Data Tree Rewriting
This paper proposes a data tree-rewriting framework for modeling evolving
documents. The framework is close to Guarded Active XML, a platform used for
handling XML repositories evolving through web services. We focus on automatic
verification of properties of evolving documents that can contain data from an
infinite domain. We establish the boundaries of decidability, and show that
verification of a {\em positive} fragment that can handle recursive service
calls is decidable. We also consider bounded model-checking in our data
tree-rewriting framework and show that it is \nexptime-complete
Reversible Computation in Term Rewriting
Essentially, in a reversible programming language, for each forward
computation from state to state , there exists a constructive method to
go backwards from state to state . Besides its theoretical interest,
reversible computation is a fundamental concept which is relevant in many
different areas like cellular automata, bidirectional program transformation,
or quantum computing, to name a few.
In this work, we focus on term rewriting, a computation model that underlies
most rule-based programming languages. In general, term rewriting is not
reversible, even for injective functions; namely, given a rewrite step , we do not always have a decidable method to get from
. Here, we introduce a conservative extension of term rewriting that
becomes reversible. Furthermore, we also define two transformations,
injectivization and inversion, to make a rewrite system reversible using
standard term rewriting. We illustrate the usefulness of our transformations in
the context of bidirectional program transformation.Comment: To appear in the Journal of Logical and Algebraic Methods in
Programmin
Belief propagation in monoidal categories
We discuss a categorical version of the celebrated belief propagation
algorithm. This provides a way to prove that some algorithms which are known or
suspected to be analogous, are actually identical when formulated generically.
It also highlights the computational point of view in monoidal categories.Comment: In Proceedings QPL 2014, arXiv:1412.810
- …