English
Related papers

Related papers: Row-Polymorphic Types for Strategic Rewriting

200 papers

We describe several technical tools that prove to be efficient for investigating the rewrite systems associated with a family of algebraic laws, and might be useful for more general rewrite systems. These tools consist in introducing a…

Logic in Computer Science · Computer Science 2007-05-23 Patrick Dehornoy

We introduce a new two-sided type system for verifying the correctness and incorrectness of functional programs with atoms and pattern matching. A key idea in the work is that types should range over sets of normal forms, rather than sets…

Programming Languages · Computer Science 2026-05-11 Celia Mengyue Li , Sophie Pull , Steven Ramsay

As a contribution to the challenge of building game-playing AI systems, we develop and analyse a formal language for representing and reasoning about strategies. Our logical language builds on the existing general Game Description Language…

Artificial Intelligence · Computer Science 2014-07-22 Dongmo Zhang , Michael Thielsher

We present the design, implementation, and foundation of a verifier for higher-order functional programs with generics and recursive data types. Our system supports proving safety and termination using preconditions, postconditions and…

Logic in Computer Science · Computer Science 2020-03-25 Jad Hamza , Nicolas Voirol , Viktor Kunčak

All formalizations of session types rely on linear types for soundness as session-typed communication channels must change their type at every operation. Embedded language implementations of session types follow suit. They either rely on…

Programming Languages · Computer Science 2023-03-03 Peter Thiemann

Essentially, in a reversible programming language, for each forward computation from state $S$ to state $S'$, there exists a constructive method to go backwards from state $S'$ to state $S$. Besides its theoretical interest, reversible…

Programming Languages · Computer Science 2017-10-10 Naoki Nishida , Adrián Palacios , Germán Vidal

Coroutine, as a powerful programming construct, is widely used in asynchronous applications to replace thread-based programming or the callback hell. Using coroutines makes code more readable and maintainable, for its ability to transfer…

Programming Languages · Computer Science 2026-02-24 Qiqi Gu , Wei Ke

When trained on language data, do transformers learn some arbitrary computation that utilizes the full capacity of the architecture or do they learn a simpler, tree-like computation, hypothesized to underlie compositional meaning systems…

Computation and Language · Computer Science 2022-11-07 Shikhar Murty , Pratyusha Sharma , Jacob Andreas , Christopher D. Manning

We propose a type system to analyze the time consumed by multi-threaded imperative programs with a shared global memory, which delineates a class of safe multi-threaded programs. We demonstrate that a safe multi-threaded program runs in…

Computational Complexity · Computer Science 2012-04-02 Jean-Yves Marion , Romain Péchoux

We provide a compositional coalgebraic semantics for strategic games. In our framework, like in the semantics of functional programming languages, coalgebras represent the observable behaviour of systems derived from the behaviour of the…

Computer Science and Game Theory · Computer Science 2017-12-25 Achim Blumensath , Viktor Winschel

Bringing the benefits of gradual typing to a language with parametric polymorphism like System F, while preserving relational parametricity, has proven extremely challenging: first attempts were formulated a decade ago, and several designs…

Programming Languages · Computer Science 2020-06-01 Elizabeth Labrada , Matías Toro , Éric Tanter

Many object-oriented dynamic languages allow programmers to _extract methods_ from objects and treat them as functions. This allows for flexible programming patterns, but presents challenges for type systems. In particular, a simple…

Programming Languages · Computer Science 2021-11-23 Yuquan Fu , Sam Tobin-Hochstadt

Curry-style system F, ie. system F with no explicit types in terms, can be seen as a core presentation of polymorphism from the point of view of programming languages. This paper gives a characterisation of type isomorphisms for this…

Logic in Computer Science · Computer Science 2007-05-30 Joachim De Lataillade

We give a polymorphic account of the relational algebra. We introduce a formalism of ``type formulas'' specifically tuned for relational algebra expressions, and present an algorithm that computes the ``principal'' type for a given…

Logic in Computer Science · Computer Science 2007-05-23 Jan Van den Bussche , Emmanuel Waller

Author stylized rewriting is the task of rewriting an input text in a particular author's style. Recent works in this area have leveraged Transformer-based language models in a denoising autoencoder setup to generate author stylized text…

Computation and Language · Computer Science 2021-01-29 Hrituraj Singh , Gaurav Verma , Aparna Garimella , Balaji Vasan Srinivasan

Term rewriting plays a crucial role in software verification and compiler optimization. With dozens of highly parameterizable techniques developed to prove various system properties, automatic term rewriting tools work in an extensive…

Logic in Computer Science · Computer Science 2025-08-01 Liao Zhang , Fabian Mitterwallner , Jan Jakubuv , Cezary Kaliszyk

Designers of autonomous agents, whether in physical or virtual environments, need to express nondeterminisim, failure, and parallelism in behaviors, as well as accounting for synchronous coordination between agents. Behavior Trees are a…

Programming Languages · Computer Science 2018-03-28 Chris Martens , Eric Butler , Joseph C. Osborn

This paper proposes an adaptive neural-compilation framework to address the problem of efficient program learning. Traditional code optimisation strategies used in compilers are based on applying pre-specified set of transformations that…

Artificial Intelligence · Computer Science 2016-05-27 Rudy Bunel , Alban Desmaison , Pushmeet Kohli , Philip H. S. Torr , M. Pawan Kumar

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its scalability (unlike Damas-Milner type inference, bidirectional typing remains decidable even for very…

Programming Languages · Computer Science 2020-08-25 Jana Dunfield , Neelakantan R. Krishnaswami

Membrane systems are a biologically-inspired computational model based on the structure of biological cells and the way chemicals interact and traverse their membranes. Although their dynamics are described by rules, encoding membrane…

Logic in Computer Science · Computer Science 2024-01-17 Rubén Rubio , Narciso Martí-Oliet , Isabel Pita , Alberto Verdejo