English
Related papers

Related papers: Two algorithms in search of a type system

200 papers

In automated complexity analysis, noninterference-based type systems statically guarantee, via soundness, the property that well-typed programs compute functions of a given complexity class, e.g., the class FP of functions computable in…

Logic in Computer Science · Computer Science 2024-01-29 Emmanuel Hainry , Bruce M. Kapron , Jean-Yves Marion , Romain Péchoux

Algorithms which learn environments represented by automata in the past have had complexity scaling with the number of states in the automaton, which can be exponentially large even for automata recognizing regular expressions with a small…

Formal Languages and Automata Theory · Computer Science 2024-05-13 Ali Cataltepe , Vanessa Kosoy

A type system combining type application, constants as types, union types (associative, commutative and idempotent) and recursive types has recently been proposed for statically typing path polymorphism, the ability to define functions that…

Logic in Computer Science · Computer Science 2020-06-30 Juan Edi , Andrés Viso , Eduardo Bonelli

This paper provides a general account of the notion of recursive program schemes, studying both uninterpreted and interpreted solutions. It can be regarded as the category-theoretic version of the classical area of algebraic semantics. The…

Logic in Computer Science · Computer Science 2011-01-26 Stefan Milius , Lawrence S. Moss

An automated resource analysis technique is introduced, targeting a Call-By-Push-Value abstract machine, with memory prediction as a practical goal. The machine has a polymorphic and linear type system enhanced with a first-order logical…

Logic in Computer Science · Computer Science 2023-10-24 Hector Suzanne , Emmanuel Chailloux

A type system is introduced for a generic Object Oriented programming language in order to infer resource upper bounds. A sound andcomplete characterization of the set of polynomial time computable functions is obtained. As a consequence,…

Programming Languages · Computer Science 2018-02-20 Emmanuel Hainry , Romain Péchoux

Recursive calls over recursive data are useful for generating probability distributions, and probabilistic programming allows computations over these distributions to be expressed in a modular and intuitive way. Exact inference is also…

Programming Languages · Computer Science 2023-03-28 David Chiang , Colin McDonald , Chung-chieh Shan

Logically constrained rewrite systems (LCTRSs) are a versatile and efficient rewriting formalism that can be used to model programs from various programming paradigms, as well as simplification systems in compilers and SMT solvers. In this…

Computational Complexity · Computer Science 2020-12-14 Sarah Winkler , Georg Moser

The main way of analyzing the complexity of a program is that of extracting and solving a recurrence that expresses its running time in terms of the size of its input. We develop a method that automatically extracts such recurrences from…

Programming Languages · Computer Science 2019-11-13 G. A. Kavvos , Edward Morehouse , Daniel R. Licata , Norman Danner

This paper provides an alternate characterization of type-two polynomial-time computability, with the goal of making second-order complexity theory more approachable. We rely on the usual oracle machines to model programs with subroutine…

Computational Complexity · Computer Science 2020-10-30 Bruce M. Kapron , Florian Steinberg

The goal of automatic resource bound analysis is to statically infer symbolic bounds on the resource consumption of the evaluation of a program. A longstanding challenge for automatic resource analysis is the inference of bounds that are…

Programming Languages · Computer Science 2023-04-27 Jessie Grosen , David M. Kahn , Jan Hoffmann

Automata learning is a technique that has successfully been applied in verification, with the automaton type varying depending on the application domain. Adaptations of automata learning algorithms for increasingly complex types of automata…

Formal Languages and Automata Theory · Computer Science 2017-06-27 Gerco van Heerdt , Matteo Sammartino , Alexandra Silva

In a previous work Baillot and Terui introduced Dual light affine logic (DLAL) as a variant of Light linear logic suitable for guaranteeing complexity properties on lambda calculus terms: all typable terms can be evaluated in polynomial…

Logic in Computer Science · Computer Science 2015-07-01 Vincent Atassi , Patrick Baillot , Kazushige Terui

In this paper, we propose an algebraic formalization of the two important classes of dynamic programming algorithms called forward and forward-backward algorithms. They are generalized extensively in this study so that a wide range of other…

Machine Learning · Computer Science 2017-02-23 Ai Azuma , Masashi Shimbo , Yuji Matsumoto

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

Originally proposed for handling time series data, Auto-regressive Decision Trees (ARDTs) have not yet been explored for language modeling. This paper delves into both the theoretical and practical applications of ARDTs in this new context.…

Computation and Language · Computer Science 2024-10-01 Yulu Gan , Tomer Galanti , Tomaso Poggio , Eran Malach

Structured recursion schemes have been widely used in constructing, optimising, and reasoning about programs over inductive and coinductive datatypes. Their plain forms, catamorphisms and anamorphisms, are restricted in expressiveness. Thus…

Programming Languages · Computer Science 2022-06-28 Zhixuan Yang , Nicolas Wu

In this work, we study the fully automated inference of expected result values of probabilistic programs in the presence of natural programming constructs such as procedures, local variables and recursion. While crucial, capturing these…

Programming Languages · Computer Science 2023-04-26 Martin Avanzini , Georg Moser , Michael Schaper

This paper proposes bimorphic recursion, which is restricted polymorphic recursion such that every recursive call in the body of a function definition has the same type. Bimorphic recursion allows us to assign two different types to a…

Logic in Computer Science · Computer Science 2011-06-08 Makoto Tatsuta , Ferruccio Damiani

In this paper, we propose an additionsubtraction twin-gated recurrent network (ATR) to simplify neural machine translation. The recurrent units of ATR are heavily simplified to have the smallest number of weight matrices among units of all…

Computation and Language · Computer Science 2018-10-31 Biao Zhang , Deyi Xiong , Jinsong Su , Qian Lin , Huiji Zhang