English
Related papers

Related papers: The Recursion Theorem from a Different Angle

200 papers

Most modern (classical) programming languages support recursion. Recursion has also been successfully applied to the design of several quantum algorithms and introduced in a couple of quantum programming languages. So, it can be expected…

Logic in Computer Science · Computer Science 2021-07-27 Zhaowei Xu , Mingsheng Ying , Benoît Valiron

This paper establishes an equivalence between the halting problem in computability theory and the convergence of power series in mathematical analysis.

Logic in Computer Science · Computer Science 2025-09-23 Antonio Joaquim Fernandes

The \emph{International Obfuscated C Code Contest} was a programming contest for the most creatively obfuscated yet succinct C code. By \emph{contrast}, an interest herein is in programs which are, \emph{in a sense}, \emph{easily} seen to…

Logic · Mathematics 2019-03-14 John Case , Michael Ralston

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

The informal question of when two theorem proofs are "essentially the same" goes back to David Hilbert, who considered adding it (or something largely equivalent) to his famous list of open problems, but eventually decided to leave it out.…

Logic in Computer Science · Computer Science 2025-08-06 Konstantin Doubrovinski

A circular program contains a data structure whose definition is self-referential or recursive. The use of such a definition allows efficient functional programs to be written and can avoid repeated evaluations and the creation of…

Data Structures and Algorithms · Computer Science 2022-06-28 Lloyd Allison

The Hilbert program was actually a specific approach for proving consistency. Quantifiers were supposed to be replaced by $\epsilon$-terms. $\epsilon{x}A(x)$ was supposed to denote a witness to $\exists{x}A(x)$, arbitrary if there is none.…

Logic · Mathematics 2021-02-17 Saul A. Kripke

The halting problem is undecidable --- but can it be solved for "most" inputs? This natural question was considered in a number of papers, in different settings. We revisit their results and show that most of them can be easily proven in a…

Logic · Mathematics 2017-01-11 Laurent Bienvenu , Damien Desfontaines , Alexander Shen

To reversify an arbitrary sequential algorithm $A$, we gently instrument $A$ with bookkeeping machinery. The result is a step-for-step reversible algorithm that mimics $A$ step-for-step and stops exactly when $A$ does. Without loss of…

Quantum Physics · Physics 2021-06-29 Yuri Gurevich

There are two kinds of approaches for termination analysis of logic programs: "transformational" and "direct" ones. Direct approaches prove termination directly on the basis of the logic program. Transformational approaches transform a…

Logic in Computer Science · Computer Science 2008-09-01 P. Schneider-Kamp , J. Giesl , A. Serebrenik , R. Thiemann

Working in a semi-constructive logical system that supports the extraction of concurrent programs, we extract a program inverting non-singular real valued matrices from a constructive proof based on Gaussian elimination. Concurrency is used…

Logic in Computer Science · Computer Science 2023-05-18 Ulrich Berger , Monika Seisenberger , Dieter Spreen , Hideki Tsuiki

Reversing a (forward) computation history means undoing the history. In concurrent systems, undoing the history is not performed in a deterministic way but in a causally consistent fashion, where states that are reached during a backward…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-08-18 Luca Cardelli , Cosimo Laneve

A program invariant is a property that holds for every execution of the program. Recent work suggest to infer likely-only invariants, via dynamic analysis. A likely invariant is a property that holds for some executions but is not…

Software Engineering · Computer Science 2007-05-23 Tristan Denmat , Arnaud Gotlieb , Mireille Ducasse

This paper is concerned with rule-based programs that go wrong. The unwanted behavior of rule applications is non-termination or failure of a computation. We propose a static program analysis of the non-termination problem for recursion in…

Programming Languages · Computer Science 2017-01-11 Thom Fruehwirth

Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring…

This paper presents a property of propositional theories under the answer sets semantics (called Equilibrium Logic for this general syntax): any theory can always be reexpressed as a strongly equivalent disjunctive logic program, possibly…

Artificial Intelligence · Computer Science 2007-05-23 Pedro Cabalar , Paolo Ferraris

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

We investigate the interplay between a modality for controlling the behaviour of recursive functional programs on infinite structures which are completely silent in the syntax. The latter means that programs do not contain "marks" showing…

Logic in Computer Science · Computer Science 2023-06-22 Paula Severi

We propose an approach and a subsequent extension for reversing imperative programs. Firstly, we produce both an augmented version and a corresponding inverted version of the original program. Augmentation saves reversal information into an…

Programming Languages · Computer Science 2017-09-05 James Hoey , Irek Ulidowski , Shoji Yuen

Algorithms are ways of mapping problems to solutions. An algorithm is invertible precisely when this mapping is injective, such that the initial problem can be uniquely inferred from its solution. While invertible algorithms can be…

Programming Languages · Computer Science 2022-12-08 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen