English
Related papers

Related papers: A Reversible Semantics for Janus

200 papers

Causality serves as an abstract notion of time for concurrent systems. A computation is causal, or simply valid, if each observation of a computation event is preceded by the observation of its causes. The present work establishes that this…

Logic in Computer Science · Computer Science 2026-03-03 Clément Aubert , Jean Krivine

Finite automata whose computations can be reversed, at any point, by knowing the last k symbols read from the input, for a fixed k, are considered. These devices and their accepted languages are called k-reversible automata and k-reversible…

Formal Languages and Automata Theory · Computer Science 2017-08-23 Giovanna J. Lavado , Giovanni Pighizzini , Luca Prigioniero

The idea of using unfolding as a way of computing a program semantics has been applied successfully to logic programs and has shown itself a powerful tool that provides concrete, implementable results, as its outcome is actually source…

Programming Languages · Computer Science 2017-08-29 José María Rey-Poza , Julio Mariño-Carballo

A recursive descent parser is built from a set of mutually-recursive functions, where each function directly implements one of the nonterminals of a grammar. A packrat parser uses memoization to reduce the time complexity for recursive…

Programming Languages · Computer Science 2020-07-08 Luke A. D. Hutchison

In this paper, we present a linear and reversible programming language with inductives types and recursion. The semantics of the languages is based on pattern-matching; we show how ensuring syntactical exhaustivity and non-overlapping of…

Logic in Computer Science · Computer Science 2025-07-23 Kostia Chardonnet , Alexis Saurin , Benoît Valiron

Backtracking (i.e., reverse execution) helps the user of a debugger to naturally think backwards along the execution path of a program, and thinking backwards makes it easy to locate the origin of a bug. So far backtracking has been…

Programming Languages · Computer Science 2013-09-23 Jooyong Yi

The long-standing aspiration for software reuse has made astonishing strides in the past few years. Many modern software development ecosystems now come with rich sets of publicly-available components contributed by the community.…

Software Engineering · Computer Science 2022-09-07 Patrick Lam , Jens Dietrich , David J. Pearce

Reversible algorithms play a crucial role both in classical and quantum computation. While for a classical bit the only nontrivial reversible operation is the bit-flip, nature is far more versatile in what it allows to do to a quantum bit.…

Quantum Physics · Physics 2022-11-14 Anandamay Das Bhowmik , Preeti Parashar

Data refinement is the standard extension of a refinement relation from programs to datatypes (i.e. a behavioural subtyping relation). Forward/backward simulations provide a tractable method for establishing data refinement, and have been…

Logic in Computer Science · Computer Science 2025-11-27 Chris Chen , Annabelle McIver , Carroll Morgan

Backward error analysis offers a method for assessing the quality of numerical programs in the presence of floating-point rounding errors. However, techniques from the numerical analysis literature for quantifying backward error require…

Programming Languages · Computer Science 2025-10-27 Ariel E. Kellison , Laura Zielinski , David Bindel , Justin Hsu

This thesis revolves around an area of computer science called "semantics". We work with operational semantics, equational theories, and denotational semantics. The first contribution of this thesis is a study of the commutativity of…

Logic in Computer Science · Computer Science 2024-06-12 Louis Lemonnier

Existing formalisms for the algebraic specification and representation of networks of reversible agents suffer some shortcomings. Despite multiple attempts, reversible declensions of the Calculus of Communicating Systems (CCS) do not offer…

Logic in Computer Science · Computer Science 2021-03-30 Clément Aubert , Doriana Medić

Reversible Primitive Permutations (RPP) are recursively defined functions designed to model Reversible Computation. We illustrate a proof, fully developed with the proof-assistant Lean, certifying that: "RPP can encode every Primitive…

Logic in Computer Science · Computer Science 2022-06-30 Giacomo Maletto , Luca Roversi

Term rewriting systems have a simple syntax and semantics and facilitate proofs of correctness. However, they are not as popular in industry or academia as imperative languages. We define a term rewriting based abstract programming language…

Programming Languages · Computer Science 2020-07-08 David Plaisted , Lee Barnett

Large language models (LLMs) have achieved a milestone that undenia-bly changed many held beliefs in artificial intelligence (AI). However, there remains many limitations of these LLMs when it comes to true language understanding,…

Computation and Language · Computer Science 2023-07-28 Walid S. Saba

Reversible computing is motivated by both pragmatic and foundational considerations arising from a variety of disciplines. We take a particular path through the development of reversible computation, emphasizing compositional reversible…

Logic in Computer Science · Computer Science 2024-06-03 Jacques Carette , Chris Heunen , Robin Kaarsgaard , Amr Sabry

Turing's famous 'machine' framework provides an intuitively clear conception of 'computing with real numbers'. A recursive counterexample to a theorem shows that the theorem does not hold when restricted to computable objects. These…

Logic · Mathematics 2020-06-23 Sam Sanders

Reflective systems allow their own structures to be altered from within. Here we are concerned with a style of reflection, called linguistic reflection, which is the ability of a running program to generate new program fragments and to…

Programming Languages · Computer Science 2007-05-23 G. N. C. Kirby , R. Morrison , D. W. Stemple

A range of methodologies and techniques are available to guide the design and implementation of language extensions and domain-specific languages. A simple yet powerful technique is based on source-to-source transformations interleaved…

Programming Languages · Computer Science 2013-02-01 Zoé Drey , José F. Morales , Manuel V. Hermenegildo

Reversible computing models settings in which all processes can be reversed. Applications include low-power computing, quantum computing, and robotics. It is unclear how to represent side-effects in this setting, because conventional…

Logic in Computer Science · Computer Science 2018-12-19 Chris Heunen , Robin Kaarsgaard , Martti Karvonen