Proof-relevant parametricity

Ghani, Neil and Nordvall Forsberg, Fredrik and Orsanigo, Federico; Lindley, Sam and McBride, Conor and Trinder, Phil and Sannella, Don, eds. (2016) Proof-relevant parametricity. In: A List of Successes That Can Change the World. Lecture Notes in Computer Science . Springer-Verlag, Switzerland, pp. 109-131. ISBN 9783319309354 (https://doi.org/10.1007/978-3-319-30936-1_6)

[thumbnail of Ghani-etal-LNCS-2016-Proof-relevant-parametricity]
Preview
Text. Filename: Ghani_etal_LNCS_2016_Proof_relevant_parametricity.pdf
Accepted Author Manuscript

Download (461kB)| Preview

Abstract

Parametricity is one of the foundational principles which underpin our understanding of modern programming languages. Roughly speaking, parametricity expresses the hidden invariants that programs satisfy by formalising the intuition that programs map related inputs to related outputs. Traditionally parametricity is formulated with proofirrelevant relations but programming in Type Theory requires an extension to proof-relevant relations. But then one might ask: can our proofs that polymorphic functions are parametric be parametric themselves? This paper shows how this can be done and, excitingly, our answer requires a trip into the world of higher dimensional parametricity.