English
Related papers

Related papers: Mendler-style Iso-(Co)inductive predicates: a stro…

200 papers

Well-known principles of induction include monotone induction and different sorts of non-monotone induction such as inflationary induction, induction over well-founded sets and iterated induction. In this work, we define a logic formalizing…

Artificial Intelligence · Computer Science 2007-05-23 Marc Denecker , Eugenia Ternovska

In the calculus of dependent lambda eliminations (CDLE), it is possible to define inductive datatypes via lambda encodings that feature constant-time destructors and a course-of-values induction scheme. This paper begins to address the…

Programming Languages · Computer Science 2020-05-05 Christopher Jenkins , Aaron Stump , Larry Diehl

Type systems certify program properties in a compositional way. From a bigger program one can abstract out a part and certify the properties of the resulting abstract program by just using the type of the part that was abstracted away.…

Logic in Computer Science · Computer Science 2012-02-17 Andreas Abel

To ensure decidability and consistency of its type theory, a proof assistant should only accept terminating recursive functions and productive corecursive functions. Most proof assistants enforce this through syntactic conditions, which can…

Logic in Computer Science · Computer Science 2026-05-01 Bastiaan Laarakker , Daniël Otten , Benno van den Berg

We present a formalization of a version of Abadi and Plotkin's logic for parametricity for a polymorphic dual intuitionistic/linear type theory with fixed points, and show, following Plotkin's suggestions, that it can be used to define a…

Logic in Computer Science · Computer Science 2017-01-11 Lars Birkedal , Rasmus E. Møgelberg , Rasmus Lerchedahl Petersen

Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles…

Logic in Computer Science · Computer Science 2009-09-30 Alwen Tiu , Alberto Momigliano

Inductive and coinductive specifications are widely used in formalizing computational systems. Such specifications have a natural rendition in logics that support fixed-point definitions. Another useful formalization device is that of…

Logic in Computer Science · Computer Science 2012-04-30 David Baelde , Gopalan Nadathur

We present Tores, a core language for encoding metatheoretic proofs. The novel features we introduce are well-founded Mendler-style (co)recursion over indexed data types and a form of recursion over objects in the index language to build…

Programming Languages · Computer Science 2018-05-02 Rohan Jacob-Rao , Brigitte Pientka , David Thibodeau

The Damas-Hindley-Milner (ML) type system owes its success to principality, the property that every well-typed expression has a unique most general type. This makes inference predictable and efficient. Unfortunately, many extensions of ML…

Programming Languages · Computer Science 2026-05-04 Alistair O'Brien , Didier Rémy , Gabriel Scherer

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

In this paper, we present an abstract framework of many-valued modal logic with the interpretation of atomic propositions and modal operators as predicate lifting over coalgebras for an endofunctor on the category of sets. It generalizes…

Logic in Computer Science · Computer Science 2022-10-25 Chun-Yu Lin , Churn-Jung Liau

A logic programming paradigm which expresses solutions to problems as stable models has recently been promoted as a declarative approach to solving various combinatorial and search problems, including planning problems. In this paradigm,…

Artificial Intelligence · Computer Science 2007-05-23 Maurice Bruynooghe

An inductive inference system for proving validity of formulas in the initial algebra $T_{\mathcal{E}}$ of an order-sorted equational theory $\mathcal{E}$ is presented. It has 20 inference rules, but only 9 of them require user interaction;…

Logic in Computer Science · Computer Science 2024-05-07 Jose Meseguer

A theory of recursive and corecursive definitions has been developed in higher-order logic (HOL) and mechanized using Isabelle. Least fixedpoints express inductive data types such as strict lists; greatest fixedpoints express coinductive…

Logic in Computer Science · Computer Science 2007-05-23 Lawrence C. Paulson

Many Prolog programs are unnecessarily impure because of inadequate means to express syntactic inequality. While the frequently provided built-in `dif/2` is able to correctly describe expected answers, its direct use in programs often leads…

Programming Languages · Computer Science 2016-07-07 Ulrich Neumerkel , Stefan Kral

The purpose of this paper is to develop and study recursive proofs of coinductive predicates. Such recursive proofs allow one to discover proof goals in the construction of a proof of a coinductive predicate, while still allowing the use of…

Logic in Computer Science · Computer Science 2018-02-21 Henning Basold

Formal deductive systems are very common in computer science. They are used to represent logics, programming languages, and security systems. Moreover, writing programs that manipulate them and that reason about them is important and…

Programming Languages · Computer Science 2018-05-21 Francisco Ferreira Ruiz

We present a coinductive framework for defining and reasoning about the infinitary analogues of equational logic and term rewriting in a uniform, coinductive way. The setup captures rewrite sequences of arbitrary ordinal length, but it has…

Logic in Computer Science · Computer Science 2019-03-14 Jörg Endrullis , Helle Hvid Hansen , Dimitri Hendriks , Andrew Polonsky , Alexandra Silva

Recursive definitions of predicates are usually interpreted either inductively or coinductively. Recently, a more powerful approach has been proposed, called flexible coinduction, to express a variety of intermediate interpretations,…

Programming Languages · Computer Science 2020-09-23 Francesco Dagnino , Davide Ancona , Elena Zucca

This paper defines a sound and complete semantic criterion, based on reducibility candidates, for strong normalization of theories expressed in minimal deduction modulo \`a la Curry. The use of Curry-style proof-terms allows to build this…

Logic in Computer Science · Computer Science 2015-07-01 Denis Cousineau