English
Related papers

Related papers: Inductive and Coinductive Predicate Liftings for E…

200 papers

We study induction on the program structure as a proof method for bisimulation-based compiler correctness. We consider a first-order language with mutually recursive function definitions, system calls, and an environment semantics. The…

Programming Languages · Computer Science 2016-11-30 Sigurd Schneider , Gert Smolka , Sebastian Hack

We present the guarded lambda-calculus, an extension of the simply typed lambda-calculus with guarded recursive and coinductive types. The use of guarded recursive types ensures the productivity of well-typed programs. Guarded recursive…

Programming Languages · Computer Science 2015-01-16 Ranald Clouston , Aleš Bizjak , Hans Bugge Grathwohl , Lars Birkedal

This paper studies the design of programming languages with handlers of higher-order effectful operations -- effectful operations that may take in computations as arguments or return computations as output. We present and analyse a core…

Programming Languages · Computer Science 2025-11-11 Zhixuan Yang , Nicolas Wu

Abductive reasoning is a popular non-monotonic paradigm that aims to explain observed symptoms and manifestations. It has many applications, such as diagnosis and planning in artificial intelligence and database updates. In propositional…

Artificial Intelligence · Computer Science 2026-01-14 Johannes Schmidt , Mohamed Maizia , Victor Lagerkvist , Johannes K. Fichte

This article contains a proposal to add coinduction to the computational apparatus of natural language understanding. This, we argue, will provide a basis for more realistic, computationally sound, and scalable models of natural language…

Computation and Language · Computer Science 2020-12-11 Wlodek W. Zadrozny

Coinduction refers to both a technique for the definition of infinite streams, so-called codata, and a technique for proving the equality of coinductively specified codata. This article first reviews coinduction in declarative programming.…

Programming Languages · Computer Science 2020-07-23 François Bry

The classical Hennessy-Milner theorem says that two states of an image-finite transition system are bisimilar if and only if they satisfy the same formulas in a certain modal logic. In this paper we study this type of result in a general…

Logic in Computer Science · Computer Science 2023-06-22 Clemens Kupke , Jurriaan Rot

Several relational program logics have been introduced for integrating reasoning about relational properties of programs and measurement of quantitative difference between computational effects. Towards a general framework for such logics,…

Programming Languages · Computer Science 2023-08-28 Tetsuya Sato , Shin-ya Katsumata

A fertile field of research in theoretical computer science investigates the representation of general recursive functions in intensional type theories. Among the most successful approaches are: the use of wellfounded relations,…

Logic in Computer Science · Computer Science 2017-01-11 Venanzio Capretta

Formal reasoning about inductively defined relations and structures is widely recognized not only for its mathematical interest but also for its importance in computer science, and has applications in verifying properties of programs and…

Logic in Computer Science · Computer Science 2026-03-05 Sohei Ito , Makoto Tatsuta

The paper describes an extension of well-founded semantics for logic programs with two types of negation. In this extension information about preferences between rules can be expressed in the logical language and derived dynamically. This…

Artificial Intelligence · Computer Science 2008-02-03 G. Brewka

An attempt at unifying logic and functional programming is reported. As a starting point, we take the view that "logic programs" are not about logic but constitute inductive definitions of sets and relations. A skeletal language design…

Logic in Computer Science · Computer Science 2016-08-31 Lawrence C. Paulson , Andrew W. Smith

We present a systematic approach to logical predicates based on universal coalgebra and higher-order abstract GSOS, thus making a first step towards a unifying theory of logical relations. We first observe that logical predicates are…

Logic in Computer Science · Computer Science 2024-01-15 Sergey Goncharov , Alessio Santamaria , Lutz Schröder , Stelios Tsampas , Henning Urbat

This paper presents equational-based logics for proving first order properties of programming languages involving effects. We propose two dual inference system patterns that can be instanciated with monads or comonads in order to be used…

Logic in Computer Science · Computer Science 2013-10-15 Jean-Guillaume Dumas , Dominique Duval , Jean-Claude Reynaud

Logic Programming is a Turing complete language. As a consequence, designing algorithms that decide termination and non-termination of programs or decide inductive/coinductive soundness of formulae is a challenging task. For example, the…

Logic in Computer Science · Computer Science 2017-07-26 Ekaterina Komendantskaya , Yue Li

We present the guarded lambda-calculus, an extension of the simply typed lambda-calculus with guarded recursive and coinductive types. The use of guarded recursive types ensures the productivity of well-typed programs. Guarded recursive…

Logic in Computer Science · Computer Science 2019-03-14 Ranald Clouston , Aleš Bizjak , Hans Bugge Grathwohl , Lars Birkedal

Automated analysis of recursive derivations in logic programming is known to be a hard problem. Both termination and non-termination are undecidable problems in Turing-complete languages. However, some declarative languages offer a…

Programming Languages · Computer Science 2016-08-22 E. Komendantskaya , P. Johann , M. Schmidt

Invertibility is an important concept in category theory. In higher category theory, it becomes less obvious what the correct notion of invertibility is, as extra coherence conditions can become necessary for invertible structures to have…

Category Theory · Mathematics 2020-10-20 Alex Rice

To appear in Theory and Practice of Logic Programming (TPLP). Tabling is a commonly used technique in logic programming for avoiding cyclic behavior of logic programs and enabling more declarative program definitions. Furthermore, tabling…

Programming Languages · Computer Science 2020-02-19 Thepfrastos Mantadelis , Ricardo Rocha , Paulo Moura

Free monads (and their variants) have become a popular general-purpose tool for representing the semantics of effectful programs in proof assistants. These data structures support the compositional definition of semantics parameterized by…

Programming Languages · Computer Science 2022-07-28 Yao Li , Stephanie Weirich