Polytypic programming in COQ

Wendy Verbruggen, Edsko de Vries, Arthur Hughes. Polytypic programming in COQ. In Ralf Hinze, Don Syme, editors, Proceedings of the ACM SIGPLAN Workshop on Genetic Programming, WGP 2008, Victoria, BC, Canada, September 20, 2008. pages 49-60, ACM, 2008. [doi]


The aim of our work is to provide an infrastructure for formal proofs over Generic Haskell-style polytypic programs. For this goal to succeed, we must have a definition of polytypic programming which is both fully formal and as close as possible to the definition in Generic Haskell. In this paper we show a formalization in the proof assistant Coq of type and term specialization. Our definition of term specialization can be interpreted as a formal proof that the result of term specialization has the type computed by type specialization.