On the Semantic Expressiveness of Recursive Types

by   Marco Patrignani, et al.

Recursive types extend the simply-typed lambda calculus (STLC) with the additional expressive power to enable diverging computation and to encode recursive data-types (e.g., lists). Two formulations of recursive types exist: iso-recursive and equi-recursive. The relative advantages of iso- and equi-recursion are well-studied when it comes to their impact on type-inference. However, the relative semantic expressiveness of the two formulations remains unclear so far. This paper studies the semantic expressiveness of STLC with iso- and equi-recursive types, proving that these formulations are equally expressive. In fact, we prove that they are both as expressive as STLC with only term-level recursion. We phrase these equi-expressiveness results in terms of full abstraction of three canonical compilers between these three languages (STLC with iso-, with equi-recursive types and with term-level recursion). Our choice of languages allows us to study expressiveness when interacting over both a simply-typed and a recursively-typed interface. The three proofs all rely on a typed version of a proof technique called approximate backtranslation. Together, our results show that there is no difference in semantic expressiveness between STLCs with iso- and equi-recursive types. In this paper, we focus on a simply-typed setting but we believe our results scale to more powerful type systems like System F.


page 1

page 2

page 3

page 4


Denotational semantics of recursive types in synthetic guarded domain theory

Just like any other branch of mathematics, denotational semantics of pro...

Kind Inference for Datatypes: Technical Supplement

In recent years, languages like Haskell have seen a dramatic surge of ne...

On the Elementary Affine Lambda-Calculus with and Without Fixed Points

The elementary affine lambda-calculus was introduced as a polyvalent set...

Monotone recursive types and recursive data representations in Cedille

Guided by Tarksi's fixpoint theorem in order theory, we show how to deri...

Mixed Linear and Non-linear Recursive Types

We describe a type system with mixed linear and non-linear recursive typ...

Toward General Analysis of Recursive Probability Models

There is increasing interest within the research community in the design...

Practical Sized Typing for Coq

Termination of recursive functions and productivity of corecursive funct...

Please sign up or login with your details

Forgot password? Click here to reset