2,196 research outputs found
Abstract Datatypes for Real Numbers in Type Theory
Abstract. We propose an abstract datatype for a closed interval of real numbers to type theory, providing a representation-independent approach to programming with real numbers. The abstract datatype requires only function types and a natural numbers type for its formulation, and so can be added to any type theory that extends Gödel’s System datatype is equivalent in power to programming intensionally with representations of real numbers. We also consider representing arbitrary real numbers using a mantissa-exponent representation in which the mantissa is taken from the abstract interval.
On Counterexample Guided Quantifier Instantiation for Synthesis in CVC4
We introduce the first program synthesis engine implemented inside an SMT
solver. We present an approach that extracts solution functions from
unsatisfiability proofs of the negated form of synthesis conjectures. We also
discuss novel counterexample-guided techniques for quantifier instantiation
that we use to make finding such proofs practically feasible. A particularly
important class of specifications are single-invocation properties, for which
we present a dedicated algorithm. To support syntax restrictions on generated
solutions, our approach can transform a solution found without restrictions
into the desired syntactic form. As an alternative, we show how to use
evaluation function axioms to embed syntactic restrictions into constraints
over algebraic datatypes, and then use an algebraic datatype decision procedure
to drive synthesis. Our experimental evaluation on syntax-guided synthesis
benchmarks shows that our implementation in the CVC4 SMT solver is competitive
with state-of-the-art tools for synthesis
Impossibility of Gathering, a Certification
Recent advances in Distributed Computing highlight models and algorithms for
autonomous swarms of mobile robots that self-organise and cooperate to solve
global objectives. The overwhelming majority of works so far considers handmade
algorithms and proofs of correctness. This paper builds upon a previously
proposed formal framework to certify the correctness of impossibility results
regarding distributed algorithms that are dedicated to autonomous mobile robots
evolving in a continuous space. As a case study, we consider the problem of
gathering all robots at a particular location, not known beforehand. A
fundamental (but not yet formally certified) result, due to Suzuki and
Yamashita, states that this simple task is impossible for two robots executing
deterministic code and initially located at distinct positions. Not only do we
obtain a certified proof of the original impossibility result, we also get the
more general impossibility of gathering with an even number of robots, when any
two robots are possibly initially at the same exact location.Comment: 10
A Convenient Category of Domains
We motivate and define a category of "topological domains",
whose objects are certain topological spaces, generalising
the usual -continuous dcppos of domain theory.
Our category supports all the standard constructions of domain theory,
including the solution of recursive domain equations. It also
supports the construction of free algebras for (in)equational
theories, provides a model of parametric polymorphism,
and can be used as the basis for a theory of computability.
This answers a question of Gordon Plotkin, who asked
whether it was possible to construct a category of domains
combining such properties
The Vampire and the FOOL
This paper presents new features recently implemented in the theorem prover
Vampire, namely support for first-order logic with a first class boolean sort
(FOOL) and polymorphic arrays. In addition to having a first class boolean
sort, FOOL also contains if-then-else and let-in expressions. We argue that
presented extensions facilitate reasoning-based program analysis, both by
increasing the expressivity of first-order reasoners and by gains in
efficiency
The Common HOL Platform
The Common HOL project aims to facilitate porting source code and proofs
between members of the HOL family of theorem provers. At the heart of the
project is the Common HOL Platform, which defines a standard HOL theory and API
that aims to be compatible with all HOL systems. So far, HOL Light and hol90
have been adapted for conformance, and HOL Zero was originally developed to
conform. In this paper we provide motivation for a platform, give an overview
of the Common HOL Platform's theory and API components, and show how to adapt
legacy systems. We also report on the platform's successful application in the
hand-translation of a few thousand lines of source code from HOL Light to HOL
Zero.Comment: In Proceedings PxTP 2015, arXiv:1507.0837
- …