arXiv · 1908.07776
Free Theorems Simply, via Dinaturality
Abstract
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 free 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.
Explore related subjects
Keep this discovery
Janis Voigtländer. 2019-08-21. Free Theorems Simply, via Dinaturality. https://arxiv.org/abs/1908.07776
Cite the original work for its findings. Save a collection to share your selection of sources.