73 research outputs found
Initial Algebra Semantics for Cyclic Sharing Tree Structures
Terms are a concise representation of tree structures. Since they can be
naturally defined by an inductive type, they offer data structures in
functional programming and mechanised reasoning with useful principles such as
structural induction and structural recursion. However, for graphs or
"tree-like" structures - trees involving cycles and sharing - it remains
unclear what kind of inductive structures exists and how we can faithfully
assign a term representation of them. In this paper we propose a simple term
syntax for cyclic sharing structures that admits structural induction and
recursion principles. We show that the obtained syntax is directly usable in
the functional language Haskell and the proof assistant Agda, as well as
ordinary data structures such as lists and trees. To achieve this goal, we use
a categorical approach to initial algebra semantics in a presheaf category.
That approach follows the line of Fiore, Plotkin and Turi's models of abstract
syntax with variable binding
On the Ranks of the 2-Selmer Groups of Twists of a Given Elliptic Curve
We extend work of Swinnerton-Dyer on the density of the number of twists of a
given elliptic curve that have 2-Selmer group of a particular rank
Bounded Refinement Types
We present a notion of bounded quantification for refinement types and show
how it expands the expressiveness of refinement typing by using it to develop
typed combinators for: (1) relational algebra and safe database access, (2)
Floyd-Hoare logic within a state transformer monad equipped with combinators
for branching and looping, and (3) using the above to implement a refined IO
monad that tracks capabilities and resource usage. This leap in expressiveness
comes via a translation to "ghost" functions, which lets us retain the
automated and decidable SMT based checking and inference that makes refinement
typing effective in practice.Comment: 14 pages, International Conference on Functional Programming, ICFP
201
Proofs for free - parametricity for dependent types
Reynolds' abstraction theorem shows how a typing judgement in System F can be translated into a relational statement (in second order predicate logic) about inhabitants of the type. We obtain a similar result for pure type systems: for any PTS used as a programming language, there is a PTS that can be used as a logic for parametricity. Types in the source PTS are translated to relations (expressed as types) in the target. Similarly, values of a given type are translated to proofs that the values satisfy the relational interpretation. We extend the result to inductive families. We also show that the assumption that every term satisfies the parametricity condition generated by its type is consistent with the generated logic
Decoding of Convolutional Codes over the Erasure Channel
In this paper we study the decoding capabilities of convolutional codes over
the erasure channel. Of special interest will be maximum distance profile (MDP)
convolutional codes. These are codes which have a maximum possible column
distance increase. We show how this strong minimum distance condition of MDP
convolutional codes help us to solve error situations that maximum distance
separable (MDS) block codes fail to solve. Towards this goal, we define two
subclasses of MDP codes: reverse-MDP convolutional codes and complete-MDP
convolutional codes. Reverse-MDP codes have the capability to recover a maximum
number of erasures using an algorithm which runs backward in time. Complete-MDP
convolutional codes are both MDP and reverse-MDP codes. They are capable to
recover the state of the decoder under the mildest condition. We show that
complete-MDP convolutional codes perform in certain sense better than MDS block
codes of the same rate over the erasure channel.Comment: 18 pages, 3 figures, to appear on IEEE Transactions on Information
Theor
- …