DeepAI AI Chat
Log In Sign Up

The Size-Change Principle for Mixed Inductive and Coinductive types

by   Pierre Hyvernat, et al.
IAE Savoie Mont Blanc

This paper describes how to use Lee, Jones and Ben Amram's size-change principle to check correctness of arbitrary recursive definitions in an ML / Haskell like programming language. The main point is that the size-change principle isn't only used to check termination, but also productivity for infinite objects. The main point is that the resulting principle is sound even in the presence of arbitrary nestings of inductive and coinductive types. A small prototype has been implemented and gives a practical argument in favor of this principle.This work relies on a characterization of least and greatest fixed points as sets of winning strategies for parity games that was developed by L. Santocanale in his work on circular proofs.Half of the paper is devoted to the proof of correctness of the criterion, which relies on an untyped extension of the language's denotational semantics to a domain of values extended with non-deterministic sums. We can recast all the syntactical constructions in this domain and check they are semantically sound.


Termination of λΠ modulo rewriting using the size-change principle (work in progress)

The Size-Change Termination principle was first introduced to study the ...

Constructing Infinitary Quotient-Inductive Types

This paper introduces an expressive class of quotient-inductive types, c...

Size-Change Termination as a Contract

Program termination is an undecidable, yet important, property relevant ...

Unboxing Mutually Recursive Type Definitions in OCaml

In modern OCaml, single-argument datatype declarations (variants with a ...

A Curry-Howard Correspondence for Linear, Reversible Computation

In this paper, we present a linear and reversible programming language w...

A Simple Functional Presentation and an Inductive Correctness Proof of the Horn Algorithm

We present a recursive formulation of the Horn algorithm for deciding th...