A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2020; you can also visit <a rel="external noopener" href="https://arxiv.org/pdf/1908.07776v1.pdf">the original URL</a>. The file type is <code>application/pdf</code>.
Free Theorems Simply, via Dinaturality
[article]
<span title="2019-08-21">2019</span>
<i >
arXiv
</i>
<span class="release-stage" >pre-print</span>
Free theorems are a popular tool in reasoning about parametrically polymorphic code. They are also of instructive use in teaching. Their derivation, though, can be tedious, as it involves unfolding a lot of definitions, then hoping to be able to simplify the resulting logical formula to something nice and short. Even in a mechanised generator it is not easy to get the right heuristics in place to achieve good outcomes. Dinaturality is a categorical abstraction that captures many instances of
<span class="external-identifiers">
<a target="_blank" rel="external noopener" href="https://arxiv.org/abs/1908.07776v1">arXiv:1908.07776v1</a>
<a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/znjtga5pw5hgtn5tgtsq7spg3a">fatcat:znjtga5pw5hgtn5tgtsq7spg3a</a>
</span>
more »
... e theorems. Arguably, its origins are more conceptually involved to explain, though, and generating useful statements from it also has its pitfalls. We present a simple approach for obtaining dinaturality-related free theorems from the standard formulation of relational parametricity in a rather direct way. It is conceptually appealing and easy to control and implement, as the provided Haskell code shows.
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20200930052939/https://arxiv.org/pdf/1908.07776v1.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext">
<button class="ui simple right pointing dropdown compact black labeled icon button serp-button">
<i class="icon ia-icon"></i>
Web Archive
[PDF]
<div class="menu fulltext-thumbnail">
<img src="https://blobs.fatcat.wiki/thumbnail/pdf/a3/11/a311b3d656c1a3b870cbcb04d0dd9490d203fd3c.180px.jpg" alt="fulltext thumbnail" loading="lazy">
</div>
</button>
</a>
<a target="_blank" rel="external noopener" href="https://arxiv.org/abs/1908.07776v1" title="arxiv.org access">
<button class="ui compact blue labeled icon button serp-button">
<i class="file alternate outline icon"></i>
arxiv.org
</button>
</a>