79,081 research outputs found
Building a Calculus of Data Structures
Techniques such as verification condition generation, predicate abstraction, and expressive type systems reduce software verification to proving formulas in expressive logics. Programs and their specifications often make use of data structures such as sets, multisets, algebraic data types, or graphs. Consequently, formulas generated from verification also involve such data structures. To automate the proofs of such formulas we propose a logic (a “calculus”) of such data structures. We build the calculus by starting from decidable logics of individual data structures, and connecting them through functions and sets, in ways that go beyond the frameworks such as Nelson-Oppen. The result are new decidable logics that can simultaneously specify properties of different kinds of data structures and overcome the limitations of the individual logics. Several of our decidable logics include abstraction functions that map a data structure into its more abstract view (a tree into a multiset, a multiset into a set), into a numerical quantity (the size or the height), or into the truth value of a candidate data structure invariant (sortedness, or the heap property). For algebraic data types, we identify an asymptotic many-to-one condition on the abstraction function that guarantees the existence of a decision procedure. In addition to the combination based on abstraction functions, we can combine multiple data structure theories if they all reduce to the same data structure logic. As an instance of this approach, we describe a decidable logic whose formulas are propositional combinations of formulas in: weak monadic second-order logic of two successors, two-variable logic with counting, multiset algebra with Presburger arithmetic, the Bernays-Schönfinkel-Ramsey class of first-order logic, and the logic of algebraic data types with the set content function. The subformulas in this combination can share common variables that refer to sets of objects along with the common set algebra operations. Such sound and complete combination is possible because the relations on sets definable in the component logics are all expressible in Boolean Algebra with Presburger Arithmetic. Presburger arithmetic and its new extensions play an important role in our decidability results. In several cases, when we combine logics that belong to NP, we can prove the satisfiability for the combined logic is still in NP
Shapely monads and analytic functors
In this paper, we give precise mathematical form to the idea of a structure
whose data and axioms are faithfully represented by a graphical calculus; some
prominent examples are operads, polycategories, properads, and PROPs. Building
on the established presentation of such structures as algebras for monads on
presheaf categories, we describe a characteristic property of the associated
monads---the shapeliness of the title---which says that "any two operations of
the same shape agree". An important part of this work is the study of analytic
functors between presheaf categories, which are a common generalisation of
Joyal's analytic endofunctors on sets and of the parametric right adjoint
functors on presheaf categories introduced by Diers and studied by
Carboni--Johnstone, Leinster and Weber. Our shapely monads will be found among
the analytic endofunctors, and may be characterised as the submonads of a
universal analytic monad with "exactly one operation of each shape". In fact,
shapeliness also gives a way to define the data and axioms of a structure
directly from its graphical calculus, by generating a free shapely monad on the
basic operations of the calculus. In this paper we do this for some of the
examples listed above; in future work, we intend to do so for graphical calculi
such as Milner's bigraphs, Lafont's interaction nets, or Girard's
multiplicative proof nets, thereby obtaining canonical notions of denotational
model
Automatic Decidability for Theories Modulo Integer Offsets
Many verification problems can be reduced to a satisfiability problem modulo theories. For building satisfiability procedures the rewriting-based approach uses a general calculus for equational reasoning named superposition. Schematic superposition, in turn, provides a mean to reason on the derivations computed by superposition. Until now, schematic superposition was only studied for standard superposition. We present a schematic superposition calculus modulo a fragment of arithmetics, namely the theory of Integer Offsets. This new schematic calculus is used to prove the decidability of the satisfiability problem for some theories extending Integer Offsets. We illustrate our theoretical contribution on theories representing extensions of classical data structures, e.g., lists and records. An implementation in the rewriting-based Maude system constitutes a practical contribution. It enables automatic decidability proofs for theories of practical use
Tool support for reasoning in display calculi
We present a tool for reasoning in and about propositional sequent calculi.
One aim is to support reasoning in calculi that contain a hundred rules or
more, so that even relatively small pen and paper derivations become tedious
and error prone. As an example, we implement the display calculus D.EAK of
dynamic epistemic logic. Second, we provide embeddings of the calculus in the
theorem prover Isabelle for formalising proofs about D.EAK. As a case study we
show that the solution of the muddy children puzzle is derivable for any number
of muddy children. Third, there is a set of meta-tools, that allows us to adapt
the tool for a wide variety of user defined calculi
Actor Network Procedures as Psi-calculi for Security Ceremonies
The actor network procedures of Pavlovic and Meadows are a recent graphical
formalism developed for describing security ceremonies and for reasoning about
their security properties. The present work studies the relations of the actor
network procedures (ANP) to the recent psi-calculi framework. Psi-calculi is a
parametric formalism where calculi like spi- or applied-pi are found as
instances. Psi-calculi are operational and largely non-graphical, but have
strong foundation based on the theory of nominal sets and process algebras. One
purpose of the present work is to give a semantics to ANP through psi-calculi.
Another aim was to give a graphical language for a psi-calculus instance for
security ceremonies. At the same time, this work provides more insight into the
details of the ANPs formalization and the graphical representation.Comment: In Proceedings GraMSec 2014, arXiv:1404.163
Canonical Abstract Syntax Trees
This paper presents Gom, a language for describing abstract syntax trees and
generating a Java implementation for those trees. Gom includes features
allowing the user to specify and modify the interface of the data structure.
These features provide in particular the capability to maintain the internal
representation of data in canonical form with respect to a rewrite system. This
explicitly guarantees that the client program only manipulates normal forms for
this rewrite system, a feature which is only implicitly used in many
implementations
Curriculum Guidelines for Undergraduate Programs in Data Science
The Park City Math Institute (PCMI) 2016 Summer Undergraduate Faculty Program
met for the purpose of composing guidelines for undergraduate programs in Data
Science. The group consisted of 25 undergraduate faculty from a variety of
institutions in the U.S., primarily from the disciplines of mathematics,
statistics and computer science. These guidelines are meant to provide some
structure for institutions planning for or revising a major in Data Science
- …