Call-by-Value and Call-by-Name Dual Calculi with Inductive and Coinductive Types

  title={Call-by-Value and Call-by-Name Dual Calculi with Inductive and Coinductive Types},
  author={Daisuke Kimura and Makoto Tatsuta},
  journal={Log. Methods Comput. Sci.},
  • D. KimuraM. Tatsuta
  • Published 22 February 2013
  • Mathematics, Computer Science
  • Log. Methods Comput. Sci.
This paper extends the dual calculus with inductive types and coinductive types. The paper first introduces a non-deterministic dual calculus with inductive and coinductive types. Besides the same duality of the original dual calculus, it has the duality of inductive and coinductive types, that is, the duality of terms and coterms for inductive and coinductive types, and the duality of their reduction rules. Its strong normalization is also proved, which is shown by translating it into a second… 

Figures from this paper

Induction by Coinduction and Control Operators in Call-by-Name

Emulation of induction by coinduction in a call-by-name language with control operators shows that some class of restricted inductive types can be derived from full coinductive types by the power of control operators.

The recursive polarized dual calculus

Logical consistency is proved, as well as a canonicity theorem showing that all closed values of a certain family of types are canonical, which shows how RP-DC can be used for practical programming, where canonical final results are required.

Completeness of Separation Logic with Inductive Definitions for Program Verification

In order to prove its completeness, this paper shows an expressiveness theorem that states the weakest precondition of every program and every assertion can be expressed by some assertion.



Call-by-Value Is Dual to Call-by-Name, Extended

  • D. Kimura
  • Mathematics, Computer Science
  • 2007
This work gives mutual translations between the λµ-calculus and the dual calculus by extending Wadler's translations, and shows that these translations form an equational correspondence, which was defined by Sabry and Felleisen.

Dual Calculus with Inductive and Coinductive Types

The same duality as Dual Calculus is shown to hold in the new system, that is, this paper presents its involution for thenew system and proves that it preserves both typing and reduction.

Control categories and duality: on the categorical semantics of the lambda-mu calculus

  • P. Selinger
  • Computer Science
    Mathematical Structures in Computer Science
  • 2001
It is proved, via a categorical structure theorem, that the categorical semantics is equivalent to a CPS semantics in the style of Hofmann and Streicher, and that the call-by-name λμ-calculus forms an internal language for the dual co-control categories.

Call-by-value is dual to call-by-name

This paper presents a dual calculus that corresponds to the classical sequent calculus of Gentzen (1935) in the same way that the lambda calculus of Church (1932,1940) corresponding to the intuitionistic natural deduction of Gentzens (19 35).

Investigations on the Dual Calculus

The duality of computation

The μ -calculus is presented, a syntax for λ-calculus + control operators exhibiting symmetries such as program/context and call-by-name/call- by-value, derived from implicational Gentzen's sequent calculus LK.

Inductive and Coinductive Types with Iteration and Recursion

This work proposes a categorical notion of primitive recursion which can easily be added as computation rule to a typed lambda calculus and gives a clear view on what the dual of recursion corecursion on coinductive types is.

Lambda-Mu-Calculus: An Algorithmic Interpretation of Classical Natural Deduction

This paper presents a way of extending the paradigm "proofs as programs" to classical proofs, which can be seen as a simple extension of intuitionistic natural deduction, whose algorithmic interpretation is very well known.

Strong Normalization of Second Order Symmetric lambda-Calculus

Strong normalization is proved for second order typed symmetric λ-calculus to be a true non-confluent computational interpretation of classical logic.

Proof Theory and Logical Complexity

Introduction: Elementary Proof Theory. The Fall of Hilbert's Program. Hilbert's Program. Recursive Functions. The First Incompleteness Theorem. The Second Incompleteness Theorem. Exercises. Annex: