Substructural Parametricity
By: C. B. Aberlé, Chris Martens, Frank Pfenning
Potential Business Impact:
Proves programs do exactly what their types say.
Ordered, linear, and other substructural type systems allow us to expose deep properties of programs at the syntactic level of types. In this paper, we develop a family of unary logical relations that allow us to prove consequences of parametricity for a range of substructural type systems. A key idea is to parameterize the relation by an algebra, which we exemplify with a monoid and commutative monoid to interpret ordered and linear type systems, respectively. We prove the fundamental theorem of logical relations and apply it to deduce extensional properties of inhabitants of certain types. Examples include demonstrating that the ordered types for list append and reversal are inhabited by exactly one function, as are types of some tree traversals. Similarly, the linear type of the identity function on lists is inhabited only by permutations of the input. Our most advanced example shows that the ordered type of the list fold function is inhabited only by the fold function.
Similar Papers
Nominal Type Theory by Nullary Internal Parametricity
Logic in Computer Science
Makes computer language rules easier to check.
Monadic type-and-effect soundness
Programming Languages
Makes computer code safer and more predictable.
Complexities of Well-Quasi-Ordered Substructural Logics
Logic in Computer Science
Makes computer logic faster and more efficient.