Software Open Access

Revisiting Iso-Recursive Subtyping

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


Citation Style Language JSON Export

{
  "publisher": "Zenodo", 
  "DOI": "10.5281/zenodo.4034438", 
  "language": "eng", 
  "title": "Revisiting Iso-Recursive Subtyping", 
  "issued": {
    "date-parts": [
      [
        2020, 
        9, 
        17
      ]
    ]
  }, 
  "abstract": "<p>The Amber rules are well-known and widely used for subtyping</p>\n\n<p>iso-recursive types. They were first briefly and informally introduced</p>\n\n<p>in 1985 by Cardelli in a manuscript describing the Amber</p>\n\n<p>language.</p>\n\n<p>Despite their use over many years, important aspects of the metatheory of the iso-recursive</p>\n\n<p>style Amber rules have not been studied in depth or turn out to be</p>\n\n<p>quite challenging to formalize.</p>\n\n<p>&nbsp;</p>\n\n<p>This paper aims to revisit the problem of subtyping iso-recursive</p>\n\n<p>types. We start by introducing a novel declarative specification</p>\n\n<p>that we believe captures the ``spirit&#39;&#39; of Amber-style</p>\n\n<p>iso-recursive subtyping. Informally, the specification states that</p>\n\n<p>two recursive types are subtypes \\emph{if all their finite</p>\n\n<p>unfoldings are subtypes}. The Amber rules are shown to be sound</p>\n\n<p>with respect to this declarative specification. We then derive a</p>\n\n<p>\\emph{sound}, \\emph{complete} and \\emph{decidable} algorithmic</p>\n\n<p>formulation of subtyping that employs a novel \\emph{double</p>\n\n<p>unfolding} rule. Compared to the Amber rules, the double</p>\n\n<p>unfolding rule has the advantage of: 1) being modular; 2)</p>\n\n<p>not requiring reflexivity to be built in; and 3) leading to</p>\n\n<p>an easy proof of transitivity of subtyping. This work</p>\n\n<p>sheds new insights on the theory of subtyping iso-recursive types,</p>\n\n<p>and the new double unfolding rule has important advantages over</p>\n\n<p>the original Amber rules for both implementations and</p>\n\n<p>metatheoretical studies involving recursive types. All results</p>\n\n<p>are mechanically formalized in the Coq theorem prover. As far as</p>\n\n<p>we know, this is the first comprehensive treatment of iso-recursive</p>\n\n<p>subtyping dealing with unrestricted recursive types in a theorem prover.</p>", 
  "author": [
    {
      "family": "Zhou, Yaoda"
    }, 
    {
      "family": "Dos Santos Oliveira, Bruno Cesar"
    }, 
    {
      "family": "Zhao, Jinxu"
    }
  ], 
  "version": "1.0", 
  "type": "article", 
  "id": "4034438"
}
69
19
views
downloads
All versions This version
Views 6969
Downloads 1919
Data volume 579.6 kB579.6 kB
Unique views 6666
Unique downloads 1616

Share

Cite as