The Size-Change Principle for Mixed Inductive and Coinductive types

01/23/2019
by   Pierre Hyvernat, et al.
0

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.

READ FULL TEXT
research
12/05/2018

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

The Size-Change Termination principle was first introduced to study the ...
research
11/15/2019

Constructing Infinitary Quotient-Inductive Types

This paper introduces an expressive class of quotient-inductive types, c...
research
08/06/2018

Size-Change Termination as a Contract

Program termination is an undecidable, yet important, property relevant ...
research
11/06/2018

Unboxing Mutually Recursive Type Definitions in OCaml

In modern OCaml, single-argument datatype declarations (variants with a ...
research
02/23/2023

A Curry-Howard Correspondence for Linear, Reversible Computation

In this paper, we present a linear and reversible programming language w...
research
09/11/2020

Internalizing Representation Independence with Univalence

In their usual form, representation independence metatheorems provide an...
research
09/13/2018

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...

Please sign up or login with your details

Forgot password? Click here to reset