Software Open Access
Zhou, Yaoda;
Dos Santos Oliveira, Bruno Cesar;
Zhao, Jinxu
<?xml version='1.0' encoding='utf-8'?> <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd"> <identifier identifierType="DOI">10.5281/zenodo.4034438</identifier> <creators> <creator> <creatorName>Zhou, Yaoda</creatorName> <givenName>Yaoda</givenName> <familyName>Zhou</familyName> <affiliation>The University of Hong Kong</affiliation> </creator> <creator> <creatorName>Dos Santos Oliveira, Bruno Cesar</creatorName> <givenName>Bruno Cesar</givenName> <familyName>Dos Santos Oliveira</familyName> <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-8632-2291</nameIdentifier> <affiliation>The University of Hong Kong</affiliation> </creator> <creator> <creatorName>Zhao, Jinxu</creatorName> <givenName>Jinxu</givenName> <familyName>Zhao</familyName> <affiliation>The University of Hong Kong</affiliation> </creator> </creators> <titles> <title>Revisiting Iso-Recursive Subtyping</title> </titles> <publisher>Zenodo</publisher> <publicationYear>2020</publicationYear> <dates> <date dateType="Issued">2020-09-17</date> </dates> <language>en</language> <resourceType resourceTypeGeneral="Software"/> <alternateIdentifiers> <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/4034438</alternateIdentifier> </alternateIdentifiers> <relatedIdentifiers> <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.4034437</relatedIdentifier> </relatedIdentifiers> <version>1.0</version> <rightsList> <rights rightsURI="https://creativecommons.org/licenses/by/1.0/legalcode">Creative Commons Attribution 1.0 Generic</rights> <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights> </rightsList> <descriptions> <description descriptionType="Abstract"><p>The Amber rules are well-known and widely used for subtyping</p> <p>iso-recursive types. They were first briefly and informally introduced</p> <p>in 1985 by Cardelli in a manuscript describing the Amber</p> <p>language.</p> <p>Despite their use over many years, important aspects of the metatheory of the iso-recursive</p> <p>style Amber rules have not been studied in depth or turn out to be</p> <p>quite challenging to formalize.</p> <p>&nbsp;</p> <p>This paper aims to revisit the problem of subtyping iso-recursive</p> <p>types. We start by introducing a novel declarative specification</p> <p>that we believe captures the ``spirit&#39;&#39; of Amber-style</p> <p>iso-recursive subtyping. Informally, the specification states that</p> <p>two recursive types are subtypes \emph{if all their finite</p> <p>unfoldings are subtypes}. The Amber rules are shown to be sound</p> <p>with respect to this declarative specification. We then derive a</p> <p>\emph{sound}, \emph{complete} and \emph{decidable} algorithmic</p> <p>formulation of subtyping that employs a novel \emph{double</p> <p>unfolding} rule. Compared to the Amber rules, the double</p> <p>unfolding rule has the advantage of: 1) being modular; 2)</p> <p>not requiring reflexivity to be built in; and 3) leading to</p> <p>an easy proof of transitivity of subtyping. This work</p> <p>sheds new insights on the theory of subtyping iso-recursive types,</p> <p>and the new double unfolding rule has important advantages over</p> <p>the original Amber rules for both implementations and</p> <p>metatheoretical studies involving recursive types. All results</p> <p>are mechanically formalized in the Coq theorem prover. As far as</p> <p>we know, this is the first comprehensive treatment of iso-recursive</p> <p>subtyping dealing with unrestricted recursive types in a theorem prover.</p></description> </descriptions> </resource>
All versions | This version | |
---|---|---|
Views | 70 | 70 |
Downloads | 19 | 19 |
Data volume | 579.6 kB | 579.6 kB |
Unique views | 67 | 67 |
Unique downloads | 16 | 16 |