Software Open Access

Revisiting Iso-Recursive Subtyping

Zhou, Yaoda; Dos Santos Oliveira, Bruno Cesar; Zhao, Jinxu

DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="" xmlns="" xsi:schemaLocation="">
  <identifier identifierType="DOI">10.5281/zenodo.4034438</identifier>
      <creatorName>Zhou, Yaoda</creatorName>
      <affiliation>The University of Hong Kong</affiliation>
      <creatorName>Dos Santos Oliveira, Bruno Cesar</creatorName>
      <givenName>Bruno Cesar</givenName>
      <familyName>Dos Santos Oliveira</familyName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="">0000-0002-8632-2291</nameIdentifier>
      <affiliation>The University of Hong Kong</affiliation>
      <creatorName>Zhao, Jinxu</creatorName>
      <affiliation>The University of Hong Kong</affiliation>
    <title>Revisiting Iso-Recursive Subtyping</title>
    <date dateType="Issued">2020-09-17</date>
  <resourceType resourceTypeGeneral="Software"/>
    <alternateIdentifier alternateIdentifierType="url"></alternateIdentifier>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.4034437</relatedIdentifier>
    <rights rightsURI="">Creative Commons Attribution 1.0 Generic</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
    <description descriptionType="Abstract">&lt;p&gt;The Amber rules are well-known and widely used for subtyping&lt;/p&gt;

&lt;p&gt;iso-recursive types. They were first briefly and informally introduced&lt;/p&gt;

&lt;p&gt;in 1985 by Cardelli in a manuscript describing the Amber&lt;/p&gt;


&lt;p&gt;Despite their use over many years, important aspects of the metatheory of the iso-recursive&lt;/p&gt;

&lt;p&gt;style Amber rules have not been studied in depth or turn out to be&lt;/p&gt;

&lt;p&gt;quite challenging to formalize.&lt;/p&gt;


&lt;p&gt;This paper aims to revisit the problem of subtyping iso-recursive&lt;/p&gt;

&lt;p&gt;types. We start by introducing a novel declarative specification&lt;/p&gt;

&lt;p&gt;that we believe captures the ``spirit&amp;#39;&amp;#39; of Amber-style&lt;/p&gt;

&lt;p&gt;iso-recursive subtyping. Informally, the specification states that&lt;/p&gt;

&lt;p&gt;two recursive types are subtypes \emph{if all their finite&lt;/p&gt;

&lt;p&gt;unfoldings are subtypes}. The Amber rules are shown to be sound&lt;/p&gt;

&lt;p&gt;with respect to this declarative specification. We then derive a&lt;/p&gt;

&lt;p&gt;\emph{sound}, \emph{complete} and \emph{decidable} algorithmic&lt;/p&gt;

&lt;p&gt;formulation of subtyping that employs a novel \emph{double&lt;/p&gt;

&lt;p&gt;unfolding} rule. Compared to the Amber rules, the double&lt;/p&gt;

&lt;p&gt;unfolding rule has the advantage of: 1) being modular; 2)&lt;/p&gt;

&lt;p&gt;not requiring reflexivity to be built in; and 3) leading to&lt;/p&gt;

&lt;p&gt;an easy proof of transitivity of subtyping. This work&lt;/p&gt;

&lt;p&gt;sheds new insights on the theory of subtyping iso-recursive types,&lt;/p&gt;

&lt;p&gt;and the new double unfolding rule has important advantages over&lt;/p&gt;

&lt;p&gt;the original Amber rules for both implementations and&lt;/p&gt;

&lt;p&gt;metatheoretical studies involving recursive types. All results&lt;/p&gt;

&lt;p&gt;are mechanically formalized in the Coq theorem prover. As far as&lt;/p&gt;

&lt;p&gt;we know, this is the first comprehensive treatment of iso-recursive&lt;/p&gt;

&lt;p&gt;subtyping dealing with unrestricted recursive types in a theorem prover.&lt;/p&gt;</description>
All versions This version
Views 7070
Downloads 1919
Data volume 579.6 kB579.6 kB
Unique views 6767
Unique downloads 1616


Cite as