358 research outputs found
A coinductive approach to computing with compact sets
Exact representations of real numbers such as the signed digit representation or more generally linear fractional representations or the infinite Gray code represent real numbers as infinite streams of digits. In earlier work by the first author it was shown how to extract certified algorithms working with the signed digit representations from constructiveproofs. In this paper we lay the foundation for doing a similar thing with nonempty compact sets. It turns out that a representation by streams of finitely many digits is impossible and instead trees are needed
Certified Impossibility Results for Byzantine-Tolerant Mobile Robots
We propose a framework to build formal developments for robot networks using
the COQ proof assistant, to state and to prove formally various properties. We
focus in this paper on impossibility proofs, as it is natural to take advantage
of the COQ higher order calculus to reason about algorithms as abstract
objects. We present in particular formal proofs of two impossibility results
forconvergence of oblivious mobile robots if respectively more than one half
and more than one third of the robots exhibit Byzantine failures, starting from
the original theorems by Bouzid et al.. Thanks to our formalization, the
corresponding COQ developments are quite compact. To our knowledge, these are
the first certified (in the sense of formally proved) impossibility results for
robot networks
Coinductive Formal Reasoning in Exact Real Arithmetic
In this article we present a method for formally proving the correctness of
the lazy algorithms for computing homographic and quadratic transformations --
of which field operations are special cases-- on a representation of real
numbers by coinductive streams. The algorithms work on coinductive stream of
M\"{o}bius maps and form the basis of the Edalat--Potts exact real arithmetic.
We use the machinery of the Coq proof assistant for the coinductive types to
present the formalisation. The formalised algorithms are only partially
productive, i.e., they do not output provably infinite streams for all possible
inputs. We show how to deal with this partiality in the presence of syntactic
restrictions posed by the constructive type theory of Coq. Furthermore we show
that the type theoretic techniques that we develop are compatible with the
semantics of the algorithms as continuous maps on real numbers. The resulting
Coq formalisation is available for public download.Comment: 40 page
From coinductive proofs to exact real arithmetic: theory and applications
Based on a new coinductive characterization of continuous functions we
extract certified programs for exact real number computation from constructive
proofs. The extracted programs construct and combine exact real number
algorithms with respect to the binary signed digit representation of real
numbers. The data type corresponding to the coinductive definition of
continuous functions consists of finitely branching non-wellfounded trees
describing when the algorithm writes and reads digits. We discuss several
examples including the extraction of programs for polynomials up to degree two
and the definite integral of continuous maps
FO(FD): Extending classical logic with rule-based fixpoint definitions
We introduce fixpoint definitions, a rule-based reformulation of fixpoint
constructs. The logic FO(FD), an extension of classical logic with fixpoint
definitions, is defined. We illustrate the relation between FO(FD) and FO(ID),
which is developed as an integration of two knowledge representation paradigms.
The satisfiability problem for FO(FD) is investigated by first reducing FO(FD)
to difference logic and then using solvers for difference logic. These
reductions are evaluated in the computation of models for FO(FD) theories
representing fairness conditions and we provide potential applications of
FO(FD).Comment: Presented at ICLP 2010. 16 pages, 1 figur
Indexed induction and coinduction, fibrationally.
This paper extends the fibrational approach to induction and coinduction pioneered by Hermida and Jacobs, and developed by the current authors, in two key directions. First, we present a sound coinduction rule for any data type arising as the final coalgebra of a functor, thus relaxing Hermida and Jacobsâ restriction to polynomial data types. For this we introduce the notion of a quotient category with equality (QCE), which both abstracts the standard notion of a fibration of relations constructed from a given fibration, and plays a role in the theory of coinduction dual to that of a comprehension category with unit (CCU) in the theory of induction. Second, we show that indexed inductive and coinductive types also admit sound induction and coinduction rules. Indexed data types often arise as initial algebras and final coalgebras of functors on slice categories, so our key technical results give sufficent conditions under which we can construct, from a CCU (QCE) U : E -> B, a fibration with base B/I that models indexing by I and is also a CCU (QCE)
Logic programming and bisimulation
The logic programming encoding of the set-theoretic graph property known as bisimulation is analyzed. This notion is of central importance in non-well-founded set theory, semantics of concurrency, model checking, and coinductive reasoning. From a modeling point of view, it is particularly interesting since it allows two alternative high-level characterizations. We analyze the encoding style of these modelings in various dialects of Logic Programming. Moreover, the notion also admits a polynomial-time maximum fixpoint procedure that we implemented in Prolog. Similar graph problems which are instead NP hard or not yet perfectly classified (e.g., graph isomorphism) can inherit most from the declarative encodings presented
Retracing some paths in categorical semantics: From process-propositions-as-types to categorified reals and computers
The logical parallelism of propositional connectives and type constructors
extends beyond the static realm of predicates, to the dynamic realm of
processes. Understanding the logical parallelism of process propositions and
dynamic types was one of the central problems of the semantics of computation,
albeit not always clear or explicit. It sprung into clarity through the early
work of Samson Abramsky, where the central ideas of denotational semantics and
process calculus were brought together and analyzed by categorical tools, e.g.
in the structure of interaction categories. While some logical structures borne
of dynamics of computation immediately started to emerge, others had to wait,
be it because the underlying logical principles (mainly those arising from
coinduction) were not yet sufficiently well-understood, or simply because the
research community was more interested in other semantical tasks. Looking back,
it seems that the process logic uncovered by those early semantical efforts
might still be starting to emerge and that the vast field of results that have
been obtained in the meantime might be a valley on a tip of an iceberg.
In the present paper, I try to provide a logical overview of the gamut of
interaction categories and to distinguish those that model computation from
those that capture processes in general. The main coinductive constructions
turn out to be of this latter kind, as illustrated towards the end of the paper
by a compact category of all real numbers as processes, computable and
uncomputable, with polarized bisimulations as morphisms. The addition of the
reals arises as the biproduct, real vector spaces are the enriched
bicompletions, and linear algebra arises from the enriched kan extensions. At
the final step, I sketch a structure that characterizes the computable fragment
of categorical semantics.Comment: 63 pages, 40 figures; cut two words from the title, tried to improve
(without lengthening) Sec.8; rewrote a proof in the Appendi
- âŠ